Ebean ManyToMany query

ebean, java, many-to-many, playframework-2.1

Solution

Check similar question (and answer)

Most probably your finder should look like:

public List<Car> findCars(int year, User user) {
    return find.where().eq("year", year).eq("users.id", user.id).findList();
}

BTW I assume that you have some `id` field but just didn't show us. Also make your fields public, so you won't need to write getters/setters for each.

Problem

I have two classes, user and car. Both have ManyToMany mapping to each other. 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; } ``` Using ebean, I would like to query only those cars from year 1999 that have give user in their list. I do not want to iterate over the user's car list in Java code. I didn't find any documentation how many-to-many queries should look like. So I would something like this: ``` public List<Car> findCars(int year, User user) { return Car.find.where().eq("year", int).eq("users", user).findList(); } ``` Is this possible with Ebean?

Original source

Related problems