hibernate - Hibernate HQL比较两个集合

标签 hibernate grails

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

图书有很多类别(即,静态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])

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

我见过的大多数人只有一个收藏

最佳答案

试试这样的事情

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

根据需要修改其他条件

关于hibernate - Hibernate HQL比较两个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235108/

相关文章:

grails - 编写单元测试以保存模型

grails - 如何在Grails中指定hasOne属性的表名

grails - 如何管理发送到我的 grails 的文件

hibernate - 非事务性 GroovyTestCase 集成测试中的 GORM 事务

hibernate - 3个实体之间的域关联

java - 申请者无法建立连接。 (打开的文件太多)

java - Hibernate native 查询显示异常

java - Hibernate+PostgreSQL "Too Many Connections"错误

java - Java中两个ResultSet的比较

java - Hibernate批处理有什么用