Bar*_*rry 44 hibernate hql fetching-strategy
我试图理解LEFT JOIN和LEFT JOIN FETCHHibernate 之间的区别.
有谁能解释一下?
谢谢
Key*_*r00 14
您可以使用它FETCH来调整您的应用程序性能。它是 Hibernate 的正交概念之一,它回答了如何 (获取样式)获取关联的问题。有4种方式:select/ subselect/ batch/ join。
第二个概念是什么时候 (获取时间)应该获取它。您可以使用 Hibernate 定义的 6 个属性之一对其进行配置,其中最多的 4 个属性是:eager, lazy, extra lazy, proxy.( hibernate-core )
默认使用 Hibernate:
加入
JOINor ( LEFT JOIN)只会返回父对象。
加入获取
JOIN FETCH(或LEFT JOIN FETCH)将收集所有关联及其所有者对象。这意味着将在同一个选择中检索集合。这可以通过启用 Hibernate 的统计数据来显示。
A (left/outer) join fetch 非常适合 *ToOne(多对一或一对一)关联。它与非袋子一起使用,但要注意可能发生的笛卡尔问题,当表的基数很高时。请注意,一个select在大多数情况下获取样式更快。
请注意,less selectstatements 是 hibernate 和数据库之间更少往返的同义词,但它不是更好性能的同义词。
| 归档时间: |
|
| 查看次数: |
46493 次 |
| 最近记录: |