为什么我的Hibernate Criteria抛出空指针异常?

时间:2012-01-27 19:04:15

标签: hibernate grails criteria

为什么这样可行:

Object searchCores() {
    ...
    def core_criteria = sessionFactory.currentSession.createCriteria(Core.class)
    core_criteria.add(Restrictions.ilike('field', '%inputvalue%'))
    ...
}

并且这不会在运行时:

Object searchCores() {
    ...
    def core_criteria = sessionFactory.currentSession.createCriteria(Core.class)
    core_criteria.add(X())
    ...
}   

Criterion X() {
    return Restrictions.ilike('field', '%inputvalue%'))
}

错误是:

Error 500: Internal Server Error    
Class java.lang.NullPointerException    
Message null    
at core_criteria.add(X()) line.

这个问题的关键在于,在某些时候我希望函数X成为一个递归函数,从输入列表中添加一长串嵌套的Restrictions.or Criterions。

我正在使用Grails 2.0。

谢谢

即可。请注意,我刚刚发现了Disjunction标准来解决我的需求(http://stackoverflow.com/questions/4206702/hibernate-criteria-query-nested-condition)但问题仍然是相关的,我仍然想了解什么是继续。

0 个答案:

没有答案