Hibernate query.list() 方法返回空列表而不是空值
2022-08-31 20:49:10
当没有行时,两者都返回空列表而不是值。query.list()
criteria.list()
null
这背后的原因是什么?
当没有行时,两者都返回空列表而不是值。query.list()
criteria.list()
null
这背后的原因是什么?
原因不是在客户端代码中强制执行空值检查,这与《有效的 Java 2nd Edition》第 43 项:返回空数组或集合,而不是空值保持一致。
这使得客户端代码更简单,更不容易出错(很可能还有方法实现)。
null-return 习语可能是 C 编程语言的延续,其中数组长度与实际数组分开返回。在 C 中,如果返回零作为长度,则分配数组没有任何好处。
它是一致的:返回一个包含所有结果的列表,无论是否有任何结果。