我正在寻找有关 Hibernate.initialize(list)
和 setFetchMode
之间差异的一些解释...
据我了解,它们有相同的目的:加载惰性集合。
还有别的吗?
我可以想象的另一件事是,通过 Criteria API 中的 de setFetchMode
,您可以在集合中添加一些 Criterion
最佳答案
使用 FetchMode 将允许您在单个选择中获取所有数据(通过将根实体加入到您也有兴趣获取的其他关联)。
Hibernate.initialize(list) 将始终发出新的选择。
加入最多一个一对多关联是合适的,而多对一关联没有严格的提取限制。
如果您需要选择多个一对多关联,则需要进行额外的选择。您可以使用:
我的建议是使用explicit fetching policies on a per-query basis并始终验证 actual executed SQL queries.
关于java - Hibernate.initialize(list) 与 setFetchMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24820969/