Hibernate query.list()方法返回空列表,而不是空值

问题描述 投票:48回答:2

[无行时,query.list()criteria.list()都将返回列表,而不是null值。

这是什么原因?

java hibernate collections nullpointerexception return-value
2个回答
96
投票

原因是不与Effective Java 2nd Edition,项目43一致,强制在客户端代码中执行空检查:返回空数组或集合,不为空

这使客户端代码更简单且更不易出错(并且很可能也是该方法的实现)。

null-return习惯用法可能是C编程语言的保留,哪些数组长度与实际数组分开返回。在C中,没有如果返回零作为长度,则分配数组的好处。


11
投票

一致:返回包含所有结果的列表,无论是否有结果。


推荐问答