我们的日志中包含以下行: java.lang.NullPointerException:无法在空对象上获取属性“ parentId”
我无法解释该对象如何为null。 我们正在使用Grails,并具有以下简短的示例源代码:
List<Jobs> jobs = Jobs.findAllByCustomerIdAndValidThruAndReferenceId(session.customer.id, null, reference.id)
for (Jobs job : jobs) {
def parentId = job.parentId == null ? job.id : job.parentId
[...]
}
是的,仅此而已。 Afaik findAll将在找不到任何内容时返回null,并且不会执行foreach循环。 如果发现一些结果,将出现诸如[作业,作业,作业]之类的对象列表。 提及例外情况,必须有类似[Jobs,null,null,Jobs]或类似名称的列表。
所以主要问题是:Grails或Hibernate是否有可能使用findAll给出包含空对象的列表?怎么可能呢?我们是否通过检查对象是否为空来对此进行强化?
我在其他任何地方都找不到此问题,也无法在本地复制/调试此问题。
谢谢