Hibernate HQL сравнивает две коллекции - PullRequest
1 голос
/ 11 февраля 2012

У меня есть приложение grails с двумя объектами домена: книга и категория.

Книга имеет много категорий (т. Е. Статические hasMany = [категории: категория])

Могу ли я использовать HQL, чтобы сделать что-то вроде:

Book.findAll("select b from Book as b 
                  where b != :book any elements(b.categories) in (:categories)", 
                  [book: myBook, categories: myBook.categories])

Кажется, я не могу найти примеров, когда сравниваются две коллекции.

У большинства из тех, что я видел, есть только одна коллекция

1 Ответ

1 голос
/ 11 февраля 2012

Попробуйте что-нибудь подобное

Book.findAll("Select b from Book as b join b.categories as cat where cat in (:categories)", [categories:categories])

Измените другие условия, если необходимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...