hibernate - 查询关联所在的Grails

标签 hibernate grails gorm grails-2.0

我有两个域类:

class MyForm{
    ....
    static hasMany = [items:MyFormItem]
}

class MyFormItem{
    String type
    static belongsTo=[myForm:MyForm]
}

我想查询MyForm并查找所有存在一种类型的项目但没有另一种类型的项目。

因此,我想找到所有MyForm,其中有一个类型为“something”的MyFormItem,但是它不能同时具有类型为“other”的MyFormItem。

我正在尝试一个where子句,但这似乎可以捕获一切:
MyForm.where{
    items{type=='something' && type!='other'}
}

有没有一种方法可以利用GORM进行一次查询?

最佳答案

我认为您可以使用withCriteria方法执行此操作。

def results = MyForm.withCriteria {
    items {
        eq('type', 'something')
    }
    items {
        ne('type', 'other')
    }
}

关于hibernate - 查询关联所在的Grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596098/

相关文章:

java - Grails发送文件然后删除

mongodb - Grails 4中mongo域类中的Autowire问题

grails - Grails插件无法访问多数据源

java - 将 Mysql 中的 enum ('YES' , 'NO' ) 列映射到 hibernate 中的 boolean 值

Grails 不会使用标签显示子文件夹中的图像

mysql - 用于 sql 的 Groovy groupby 或映射

hibernate - Grails- hibernate 从3升级到4

hibernate - Grails-非空属性仅对并发用户引用空值或瞬时值错误

java - hibernate 搜索 : Get parametrised result from query without unchecked warnings

hibernate - Tomcat在Spring3 MVC应用程序中无限循环创建Hibernate SessionFactory