日期:2014-05-20  浏览次数:20721 次

hibernate设置lazy="false"后能不能动态修改
表a中包含set b,在大大大部分查询表a的时候都是需要加载某张数据很大的表b,但是有些时候又是不需要的,比如获取a的列表信息的时候,然后就在hibernate xml中设置了表a的b字段为lazy=false
这时候读取a列表的时候就会很慢,有什么办法动态改变字段lazy的属性嚒,比如在查询a列表的时候不加载b?

------解决方案--------------------
比如获取a的列表信息的时候,然后就在hibernate xml中设置了表a的b字段为lazy=false
你这里设置了lazy为false,而有时候你又不想加载,使用以下代码:
Criteria x2//你查询的criteria
x2.setFetchMode("xx.bList", FetchMode.LAZY)//临时对b集合使用lazy
------解决方案--------------------
Criteria x2x2.setFetchMode("xx.bList", FetchMode.LAZY