懒惰和渴望在休眠中获取
Lazy and Eager fetching in hibernate
默认情况下,惰性提取如何在休眠中使用 XML 工作?
在hibernate中实体加载有两种模式lazy和eager。如果您通过 XML 映射定义实体配置,则 lazy 属性在关系标记中定义(即 many-to-one
、one-to-many
等)。
如果你没有定义 lazy 属性,那么默认情况下延迟加载是启用的,即 lazy 的值将为 true 但如果你想要预先加载,那么你需要打开通过设置 lazy=false
.
关闭延迟加载
现在,如果您的 lazy=true
then select 语句在您尝试访问子实体时被执行,而如果 lazy=false
(即存在预取),那么您会注意到select 子实体查询在父实体的 select 查询之后立即被触发。
(您可以通过在控制台日志中将 showSql 设置为 true 来注意到此行为。)
希望它能解决您所有的疑问
默认情况下,惰性提取如何在休眠中使用 XML 工作?
在hibernate中实体加载有两种模式lazy和eager。如果您通过 XML 映射定义实体配置,则 lazy 属性在关系标记中定义(即 many-to-one
、one-to-many
等)。
如果你没有定义 lazy 属性,那么默认情况下延迟加载是启用的,即 lazy 的值将为 true 但如果你想要预先加载,那么你需要打开通过设置 lazy=false
.
现在,如果您的 lazy=true
then select 语句在您尝试访问子实体时被执行,而如果 lazy=false
(即存在预取),那么您会注意到select 子实体查询在父实体的 select 查询之后立即被触发。
(您可以通过在控制台日志中将 showSql 设置为 true 来注意到此行为。)
希望它能解决您所有的疑问