我有两个类,user和car。两者都有彼此的ManyToMany映射。
用户:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}汽车:
@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可以做到这一点吗?
发布于 2012-11-16 23:45:48
很可能你的finder应该是这样的:
public List<Car> findCars(int year, User user) {
return find.where().eq("year", year).eq("users.id", user.id).findList();
}顺便说一句,我假设你有一些id字段,但没有显示给我们。另外,将字段设置为公共字段,这样就不需要为每个字段编写getter/setter。
https://stackoverflow.com/questions/13419624
复制相似问题