Grails在哪里查询关联

时间:2015-02-18 23:38:49

标签: hibernate grails gorm grails-2.0

我有两个域类:

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

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

我想查询MyForm,找到所有有一种项目而不是另一种项目的地方。

所以,我想找到所有MyForm,其中MyFormItem的类型为''但它也不能有一个类型为'其他'的MyFormItem。

我正在尝试使用where子句,但这似乎只是抓住了所有内容:

MyForm.where{
    items{type=='something' && type!='other'}
}

有一种方法可以使用GORM进行一次查询吗?

1 个答案:

答案 0 :(得分:0)

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

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