1

我在 grails 2.1.1 中遇到了一个奇怪的 NullPointerException。

HibernateCriteriaBuilder crit = FattoriIndicatori.createCriteria()
crit.createAlias("indicatori","ind")... // NPE here, because underlying Criteria is null
  • 该类在 hibernate-cfg 中列出
  • 来自同一配置文件的其他类工作得很好
  • 最近没加课,很久了

肯定有什么东西不见了,但我看不到。

编辑:我确信该类已正确配置,因为此代码有效:

HibernateCriteriaBuilder crit = FattoriIndicatori.createCriteria()
Number res = crit.get {
projections {
    count()
    }
}
4

1 回答 1

1

问题是某些方法只有在从传递给,等HibernateCriteriaBuilder的闭包中调用时才起作用。getlist

HibernateCriteriaBuilder crit = FattoriIndicatori.createCriteria()
def results = crit.list {
  createAlias("indicatori","ind")
  eq('ind.something', 'value')
}

会正常工作。该list方法进行一些初始化(包括创建底层Criteria实例,最初是null),然后调用闭包来构建条件规范,然后执行结果查询并返回结果。

于 2013-06-24T09:34:26.917 回答