我在Grails的createCriteria中看到一些意外的行为。我有一个像这样的域类:Grails createCriteria:通过为空域类实例的字段查找对象
MyDomainClass {
AnotherDomainClass anotherDomainClass
static constraints = {
anotherDomainClass(nullable:true)
}
}
我想查找其中anotherDomainClass为null的所有MyDomainClass实例。所以我这样做:
return MyDomainClass.createCriteria().list {
eq('anotherDomainClass', null)
}
但是,我没有得到任何回报。
我在做什么错?我可以看到有数据库条目的ANOTHERDOMAINCLASS_ID列的确是空的(或空白,我不知道)。
我会很好创建一个查询,直接引用ANOTHERDOMAINCLASS_ID列,但我还没有找到方法。
谢谢!
谢谢,这工作!接受这一个,因为它是第一个,并提供示例代码和一个链接到javadocs。 – 2011-04-03 22:59:53
谢谢。这是另一个很好的参考(http://grails.org/doc/latest/ref/Domain%20Classes/createCriteria.html) – 2011-04-03 23:23:15
如果您不必检查条件中的其他条件,也可以使用动态查找器,所以你可以做def results = MyDomainClass.findAllByAnotherDomainClassIsNull():-) – Maricel 2011-04-03 23:27:31