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

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

原因是不强制客户端代码中的空检查,与Effective Java 2nd Edition ,Item 43: 返回空数组或集合,而不是空值

这使得客户端代码更简单,更容易出错(最有可能的方法实现)。

null-return成语可能是C程序devise语言的保留,其中数组长度是从实际数组中分开返回的。 在C中,如果返回零作为长度,则分配数组没有好处。

它是一致的:一个列表返回所有的结果,不pipe有没有。