JPQL ManyToMany выберите

У меня есть отношения «многие ко многим» между двумя объектами, которые называются: автомобиль и дилерство.

В родном MySQL у меня есть:

car  (id and other values)
dealership  (id and other values)
car_dealership   (car_id and dealership_id)

И запрос, который я хочу сделать в JPQL:

#Select List of cars in multiple dealerships
SELECT car_id FROM car_dealership WHERE dealership_id IN(1,2,3,56,78,999);

Как правильно сделать эквивалент JPQL?

Моя подпись метода Java:

public List findByDealership(List dealerships);

я пытался

    //TOTALLY WRONG QUERY CALL!!!     
    Query query = em.createQuery("SELECT c FROM Car c WHERE :dealer_ids IN c.dealerships");
    List dealerIds = new ArrayList();
    for(Dealership d : dealerships) {
        dealerIds.add(d.getId());
    }
    query.setParameter(":dealer_ids", dealerIds); 
    List result = (List) query.getResultList();
    return result;
}

Вот мои аннотации JPA для таких отношений в Java:

@Entity
@Table(name = "car")
public class Car implements Serializable {

     //Setup of values and whatnot....
     @ManyToMany
     @JoinTable(name = "car_dealership", joinColumns =
     @JoinColumn(name = "car_id", referencedColumnName = "id"),
     inverseJoinColumns = @JoinColumn(name = "dealership_id", referencedColumnName = "id"))
     private List dealerships;

     ... other stuff (getters/setters)

}

@Entity
@Table(name = "property")
public class Dealership implements Serializable {

    //Setting of values and whatnot

    @ManyToMany(mappedBy = "dealerships")
    private List cars;

    .... other stuff(getters/setters)

}

РЕДАКТИРОВАТЬ

Я также попробовал:

 Query query = em.createQuery("SELECT c FROM Car c INNER JOIN c.dealerships d WHERE d IN (:deals)");
 query.setParameter("deals", dealerships);

Который выкинул ошибку:

org.eclipse.persistence.exceptions.QueryException

Exception Description: Object comparisons can only use the equal() or notEqual() operators.  
Other comparisons must be done through query keys or direct attribute level comparisons. 

Expression: [
Relation operator [ IN ]
Query Key dealerships
  Base stackoverflow.question.Car
Constant [
Parameter deals]]

Ответы на вопрос(1)

Ваш ответ на вопрос