一旦你离开事务,那些依赖事务的操作都无法使用,所以lazy=true必须合理使用,否则麻烦不断。1 如果一个属性,只出现在事务里面,可以用lazy
2 否则你必须在事务里,单独写一句调用的语句,把内容读出来,不过就失去了lazy的作用了

解决方案 »

  1.   

    可是事务应该只存在于service里面,如果单在service或dao里使用属性,根本就不需要lazy。
    一旦返回显示页面,才需要用lazy打开session。
    我现在的处理就像你说的,在事务里把所有数据读出来,相当于没有使用lazy。
      

  2.   

    没错,如果你每次都要在事务外面使用那些lazy的,那只能是你的lazy设置错了,呵呵呵!我一般采用lazy的地方,是Blob,Clob,Byte等字段容量比较大的属性。
      

  3.   

    我是在做多表链接的时候出现的这个问题。我也觉得是自己lazy设置错了,所以想来问问自己错在哪,或者通常情况下大家都是怎么设置的。以前都是手工处理,这次实在不想手工处理了....