Hibernate数据检索改进。

时间:2011-07-19 11:04:41

标签: java hibernate hql

  

可能重复:
  Can I eager load a property using HQL?

我将尝试通过抽象真实场景来综合这个问题。

我有 EntityA ,其 EntityB 作为成员,并且已懒散加载。

EntityB 以及 EntityC 成员

我现在所做的并不是非常理想

select distinct entA from EntityA entA ,EntityB entB, EntityC entC 
where entA.ent_B_ID = entB.id and entB.ent_C_ID = entC.id and entC.someValue ='x'

这将检索所有 entityA 对象,但我必须调用其中每个 getEntityB entityB getEntityC 拥有完整的对象,因此这个延迟加载的DB调用太多了。

提及:我无法覆盖映射。

之前(几年前)我使用JDBC并且在那里使用sql我会做类似的事情,但是使用HQL可以在1个查询中检索完整的 entityA 对象吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

你需要在“获取”或者在标准或者hql中使用,或者你可以在关系上设置 - lazy = false