LAZY 的延期加栽什么时候使用,在做关联查找A,B时,但我设置LAZY为true时并且把A取的数据存入SESSION,另一个页面就不能取B的数据的,提示SESSION操作结束,那么实际该怎么好好利用LAZY

解决方案 »

  1.   

    用spring了吗,把事务提到页面层试试。
            <filter>
    <filter-name>hibernateFilter</filter-name>
    <filter-class>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  2.   

    顶1楼的
    结合Sping来做  就很容易解决了 
      

  3.   

    Spring   还没学
    不过Lazy 延迟加载还是懂一点
    但是实际中Lazy还是不太允许使用
      

  4.   

    楼上都没有回答问题啊延迟加载LAZY  一般分为3中配置 FALSE(查询时就记载)不加载(TRUE)还有一个智能的加载(使用时加载)比如我一个商品 查询时 90%的情况 都需要读到商品图片这个表 那么这时就可以设置为FALSE 了LZ的情况是 其实把 lazy = false就能解决但是不是好的办法 最好是设置为智能的延迟加载这里就要有一个问题他是在你掉用比如。。你的对象A 有一个 SET 设置了延迟加载 他叫S当你SESSION 关闭了 在ACTION调用SET时HIB会报你SESSION 已经关闭的错误这个掉用要在SESSION 关闭之前才可以。其实在底层 需要他加载时调一下S的size()方法就可以了