我将尝试通过抽象真实场景来综合这个问题。
我有 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 对象吗?
谢谢!
答案 0 :(得分:1)
你需要在“获取”或者在标准或者hql中使用,或者你可以在关系上设置 - lazy = false