首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

mybatis延迟加载(lazy)配置奏效的陷阱

2013-09-09 
mybatis延迟加载(lazy)配置生效的陷阱一些刚接触mybatis的人如果之前用过hibernate,总想试试它的延迟加载

mybatis延迟加载(lazy)配置生效的陷阱

一些刚接触mybatis的人如果之前用过hibernate,总想试试它的延迟加载功能,其实在实际开发中我从来没有使用过这个功能,因为没有必要。

但是mybatis的延迟加载的配置确存在一定的陷阱,从mybatis官方的文档及例子中也没有找到完整的配置说明。

?

废话少说了,正题,要使延迟加载生效必须配置下面两个属性:

??? <settings>
??? ??? <setting name="lazyLoadingEnabled" value="true"/>
??? ??? <setting name="aggressiveLazyLoading" value="false"/>
??? </settings>

?

如果你只配了lazyLoadingEnabled属性,那就不行了。

?

官方对这两个属性的解释是:

lazyLoadingEnabled 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。默认:true
aggressiveLazyLoading 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载。默认:true

热点排行