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

时间:2010-08-30 09:48:18

标签: java hibernate collections nullpointerexception return-value

当没有行时,query.list()和criteria.list()都返回空列表而不是空值。 这背后的原因是什么?

2 个答案:

答案 0 :(得分:90)

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

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

  

null-return成语很可能是C编程语言的延续   哪些数组长度与实际数组分开返回。在C中,没有   如果返回零作为长度,则分配数组的优势。

答案 1 :(得分:11)

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