懒惰和渴望在休眠中获取

Lazy and Eager fetching in hibernate

默认情况下,惰性提取如何在休眠中使用 XML 工作?

在hibernate中实体加载有两种模式lazyeager。如果您通过 XML 映射定义实体配置,则 lazy 属性在关系标记中定义(即 many-to-oneone-to-many 等)。

如果你没有定义 lazy 属性,那么默认情况下延迟加载是启用的,即 lazy 的值将为 true 但如果你想要预先加载,那么你需要打开通过设置 lazy=false.

关闭延迟加载

现在,如果您的 lazy=true then select 语句在您尝试访问子实体时被执行,而如果 lazy=false(即存在预取),那么您会注意到select 子实体查询在父实体的 select 查询之后立即被触发。 (您可以通过在控制台日志中将 showSql 设置为 true 来注意到此行为。)

希望它能解决您所有的疑问