EJB 3 Многие ко многим с критериями выбора

#java #many-to-many #ejb-3.0

#java #многие ко многим #ejb-3.0

Вопрос:

Интересно, возможно ли это вообще. Я не нашел никаких примеров того, как это сделать.

Мой основной объект является владельцем регистрации. У владельца регистрации может быть много интересов, и интерес может быть назначен многим владельцам регистрации. Классическая ситуация «многие ко многим».

Он моделируется в моей базе данных с помощью классической таблицы соединений (она содержит уникальный идентификатор, но в остальном просто reg_id и interest_id). Это работает великолепно.

Я только что определил это для владельца регистрации:

  @JoinTable(name = "registrant_interest", joinColumns = {
    @JoinColumn(name = "registrant_id", referencedColumnName = "id")},   
inverseJoinColumns = {
    @JoinColumn(name = "interest_id", referencedColumnName = "id")})
@ManyToMany
private Collection<Interest> interestCollection;
  

Теперь моя проблема. Когда владелец регистрации входит в систему, он выбирает конференцию. Таким образом, в коллекции должно быть только определенное количество интересов…интересы для выбранной конференции.

Но с выбранным мной подходом я получаю весь интерес от всех конференций, на которые когда-либо регистрировался владелец регистрации.

Возможно ли иметь

‘где conference_id = ?’ со стороны интереса в этой конструкции или я должен вместо этого использовать представление?

с наилучшими пожеланиями и благодарностями за любую помощь

Ким

Комментарии:

1. вы можете просто использовать HQL с вашими конкретными критериями, поделиться кодом, который вы используете для извлечения ваших данных

2. Когда вы хотите передать where conference_id = ? фильтр? При загрузке объекта или при выполнении запроса?