2012-02-10 81 views
1

我有一个grails应用程序,有两个域对象:Book和Category。休眠HQL比较两个集合

书有很多类(即静态的hasMany = [类别:第一类])

我可以用HQL做这样的事情:

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

我似乎无法找到例子,其中比较是在两个集合之间制作的。

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

+0

请考虑将其标记你的一些问题如回答了一些事情。 – Igor 2012-03-26 15:16:21

回答

1

尝试这样

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

修改其他的必要条件