Mam dwie klasy, użytkownika i samochodu. Oba mają wiele odwzorowań ManyToMany.Ebean ManyToMany zapytanie
użytkownika:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}
Samochód:
@Entity
public class Car extends Model {
@ManyToMany(mappedBy = "cars", cascade=CascadeType.ALL)
private List<User> users;
}
Korzystanie ebean, chciałbym zapytać tylko tych samochodów z roku 1999, które mają dać użytkownikowi na ich listy. Nie chcę iterować nad listą samochodów użytkownika w kodzie Java.
Nie znalazłem żadnej dokumentacji, jak powinny wyglądać zapytania typu wiele-wiele. Tak więc chciałbym coś takiego:
public List<Car> findCars(int year, User user) {
return Car.find.where().eq("year", int).eq("users", user).findList();
}
Czy to możliwe z Ebean?
Używałem prywatnych pól, ponieważ miałem problemy z testowaniem pracy bez ustawiania/pobierania. http://stackoverflow.com/questions/13011874/why-ebean-returns-null-for-no-reason –
Tak, z prywatnymi polami, musisz pisać public getters, to normalne – biesior
Oczywiście :-) Ale link w moim komentarz opisuje błąd/funkcję w zestawie Ebean/Play 2, o którym mówiłem. –