Dea*_*ses 11 grails grails-orm
我在Grails的createCriteria中看到了一些意想不到的行为.我有一个看起来像这样的域类:
MyDomainClass {
AnotherDomainClass anotherDomainClass
static constraints = {
anotherDomainClass(nullable:true)
}
}
Run Code Online (Sandbox Code Playgroud)
我想找到MyDomainClass的所有实例,其中anotherDomainClass为null.所以我这样做:
return MyDomainClass.createCriteria().list {
eq('anotherDomainClass', null)
}
Run Code Online (Sandbox Code Playgroud)
但是,我一无所获.
我究竟做错了什么?我可以看到有一些数据库条目,其中ANOTHERDOMAINCLASS_ID列确实为空(或空白,我无法分辨).
我可以直接创建一个引用ANOTHERDOMAINCLASS_ID列的查询,但我还没有找到方法.
谢谢!
Der*_*ife 15
您可以使用isNull而不是使用eq
def results = MyDomainClass.withCriteria {
isNull('anotherDomainClass')
}
Run Code Online (Sandbox Code Playgroud)
这里有一个很好的参考HibernateCriteriaBuilder Javadoc.