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

解决方案 »

  1.   

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

  2.   

    好像FetchMode.LAZY已经被废弃了depreciated了
      

  3.   

    Criteria x2x2.setFetchMode("xx.bList", FetchMode.LAZY