0

我有一个 DAO User

class User{
  int id,
  int name,
  List<Vehicle> vehicles;
}

在我的UserMapper.java界面中,我有一个方法可以给我 User 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);

如何确保上述查询正确填充用户对象的车辆集合? 请使用注释(和 XML 仅作为最后的手段)

4

1 回答 1

0

来自Mybatis 3 用户指南

注意:您会注意到 Annotations API 不支持连接映射。这是由于 Java 注释中的限制不允许循环引用。

你能做的最好是这样的,

@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。

于 2013-01-10T18:48:14.797 回答