Hibernate HQL比较两个集合

时间:2012-02-10 21:33:19

标签: hibernate grails

我有一个grails应用程序,有两个域对象:Book和Category。

Book有许多类别(即static hasMany = [categories:Category])

我可以使用HQL来执行以下操作:

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

我似乎无法找到两个集合之间进行比较的示例。

我见过的大多数只有一个集合

1 个答案:

答案 0 :(得分:1)

尝试这样的事情

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

根据需要修改其他条件