我有两个类,用户和汽车。两者都有 ManyToMany 相互映射。
User:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}
Car:
@Entity
public class Car extends Model {
@ManyToMany(mappedBy = "cars", cascade=CascadeType.ALL )
private List<User> users;
}
使用 ebean,我只想查询 1999 年以来在其列表中给出用户的那些汽车。我不想在 Java 代码中迭代用户的汽车列表。
我没有找到任何关于多对多查询应该是什么样子的文档。所以我想要这样的事情:
public List<Car> findCars(int year, User user) {
return Car.find.where().eq("year", int).eq("users", user).findList();
}
Ebean 可以做到这一点吗?
检查类似问题和答案)
您的查找器很可能应该如下所示:
public List<Car> findCars(int year, User user) {
return find.where().eq("year", year).eq("users.id", user.id).findList();
}
顺便说一句,我假设你有一些id
场但只是没有向我们展示。同时将您的字段公开,这样您就不需要为每个字段编写 getter/setter。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)