我正在使用相当旧的堆栈:Grails 2.5.4,但我无法更新。我想我遇到了一个奇怪的错误,但我不确定它在哪里,它真的令我感到困惑......
我在服务中使用此方法:
DetachedCriteria crit = myService.getUserCriteria(filter)
返回的crit对象可能为null,意味着不能应用过滤器,或者这个分离的标准(在给定域的情况下这是正确的):
new DetachedCriteria(MyDomain).build {
createAlias('myCollection', 'tp')
eq('tp.code', filter)
}
如果我使用此语句检查条件是否为空,一切正常:
if(crit != null) {
// do work with criteria
}
但如果我这样检查一下:
if(crit) {
// do work with criteria
}
我得到了各种各样奇怪的错误: "无法获得财产' tp'在MyDomain"
我找到了一个解决方法,但是有人可以告诉我真相检查是如何"打破"我的标准?