2012-02-10 131 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]) 

修改其他的必要條件