我有一个DAO User
:
class User{
int id,
int name,
List<Vehicle> vehicles;
}
在我的UserMapper.java
界面中,我有一个给我用户DAO的方法:
@Select("select u.id, u.name, v.id, v.name from User u, Vehicle v where u.id=#{id} and v.user_id=u.id")
public User getUser(int id);
如何确保上述查询正确填充User对象的车辆集合? 请使用注释(仅限XML作为最后的手段)
答案 0 :(得分:0)
注意:您会注意到Annotations不支持连接映射 API。这是由于Java Annotations中的限制没有 允许循环引用。
你能做的最好就是这样,
@Results({
@Result(property = "id", column = "id", id = true),
@Result(property = "name", column = "name"),
@Result(many=@Many(select="your select"), javaType=Vehicle.class)
})
@Select(“select u.id,u.name,v.id,v.name from User u,Vehicle v where u.id =#{id} and v.user_id = u.id”) public User getUser(int id);
我的建议,使用xml。