我正在尝试为我所知道的查询找到正确的语法,但是该查询找不到代码示例。
class ObjA {
...
static hasMany = [b:ObjB]
}
如果的是ObjA的实例,我想执行如下查询:
a.b.findAllBsSuchThat(b.someproperty = somevalue)
最佳答案
为了避免对每个a
进行(N + 1)个惰性关联查询,您可以使用以下条件:
ObjA.withCriteria {
b {
eq 'someProperty', someValue
}
}
或
where
查询:ObjA.where { b.someProperty == somevalue }.list()
如果您使用
a.b.findAllBsSuchThat(b.someproperty = somevalue)
之类的东西,那么您将获得b's
的所有a
,然后对结果进行过滤。这将影响性能,并且不必要。
关于grails - Grails按属性搜索拥有的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27003549/