java - Hibernate 数据检索改进。

标签 java hibernate hql

Possible Duplicate:
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 对象,但我必须调用每个对象 getEntityBentityB getEntityC 以获得完整的对象,因此此延迟加载的数据库调用过多。

提及:我无法覆盖映射。

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

谢谢!

最佳答案

您需要在“fetch”或条件或 hql 中使用,或者您可以在关系上设置-lazy=false

关于java - Hibernate 数据检索改进。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746138/

相关文章:

java - 删除 HQL 中带有对象的所有从站

java - 使用递归求几何和

java - 使用显示标签格式化导出到 excel 的表格设计

java - if (this != null) 这有什么用处吗?

java - Intellij IDEA Hibernate 控制台找不到 JDBC 驱动程序

java - 摆脱 JPA 中对所有者的冗余引用

java - Hibernate 类型转换问题。

java - 使用 docx4j 使用 Base64 图像从 HTML 生成 .docx

java - 学习 Criteria 而不是 hql,如何使用对象列表使用条件进行查询?

java - hibernate HQL 日期差异