【发布时间】:2023-04-04 02:33:01
【问题描述】:
在 Hibernate 中,最好的方法是什么:
- 要对数据表对象使用 findAll,返回所有字段并仅提取相关数据,还是使用 Criteria 和 Example 来关注结果和列?
- 如果答案基于表大小 - 建议使用每种方法的列数量和行数量?
【问题讨论】:
-
这取决于我们想要达到的目标。
在 Hibernate 中,最好的方法是什么:
【问题讨论】:
我认为只有您可以根据您的应用程序决定采用哪种方法。
如果您需要数据表中每个对象的数据,检索所有对象并提取相关数据会容易得多。如果这会导致严重的性能开销,那么 hibernate 会提供一系列优化来提取您需要的数据。请记住,读取列比读取行快得多。一种这样的优化可能是提取一个 id 列表,该列表可以由应用程序迭代,该应用程序逐个获取条目,从而产生几乎为零的内存开销,同时对事务数量进行了一些权衡。
通常没有推荐的限制,因为这完全取决于您的应用程序和表大小。如果我的查询跨越 10k 个对象,我可能会找到另一种方法,主要是由于内存问题。
【讨论】: