懒惰和渴望获取休眠状态

时间:2018-08-27 17:24:29

标签: sql hibernate filter hql hibernate-mapping

默认情况下,在使用XML的休眠模式下,惰性获取是如何工作的?

1 个答案:

答案 0 :(得分:2)

处于休眠状态的实体 lazy eager 有两种模式。如果您通过XML映射定义实体配置,则会在关系标记(即many-to-oneone-to-many等)中定义 lazy 属性。

如果您未定义惰性属性,则默认情况下将启用惰性加载,即,惰性值将为 true ,但如果您希望进行快速加载,则需要通过设置来关闭惰性加载lazy=false

现在,如果您每次尝试访问子实体时都执行lazy=true那么select语句,而如果lazy=false(即那里有急切的获取操作),那么您会注意到对子实体的选择查询得到在父实体的选择查询之后立即触发。 (您可以通过在控制台日志中将showSql设置为true来注意到此行为。)

希望它能清除您的所有查询