Tôi có hai lớp, người dùng và ô tô. Cả hai đều có ánh xạ ManyToMany với nhau.Truy vấn ManyToMany của Ebean
User:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}
xe:
@Entity
public class Car extends Model {
@ManyToMany(mappedBy = "cars", cascade=CascadeType.ALL)
private List<User> users;
}
Sử dụng ebean, tôi muốn truy vấn chỉ có những chiếc xe từ năm 1999 có cung cấp cho người dùng trong danh sách của họ. Tôi không muốn lặp qua danh sách xe của người dùng trong mã Java.
Tôi không tìm thấy bất kỳ tài liệu nào có bao nhiêu truy vấn sẽ giống như thế nào. Vì vậy, tôi sẽ như thế này:
public List<Car> findCars(int year, User user) {
return Car.find.where().eq("year", int).eq("users", user).findList();
}
Điều này có thể xảy ra với Ebean không?
Tôi đã sử dụng các trường riêng tư vì tôi gặp phải các vấn đề khi làm bài kiểm tra mà không cần sử dụng getters/setters. http://stackoverflow.com/questions/13011874/why-ebean-returns-null-for-no-reason –
Có trường riêng, bạn cần viết getters công cộng, đó là bình thường – biesior
Rõ ràng :-) Nhưng liên kết trong của tôi bình luận mô tả lỗi/tính năng trong Ebean/Play 2 combo tôi đã đề cập đến. –