此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【maxupeng】截止到2008-07-02 20:26:22的历史汇总数据(不包括此帖):
发帖的总数量:2                        发帖的总分数:20                       
结贴的总数量:1                        结贴的总分数:0                        
无满意结贴数:1                        无满意结贴分:20                       
未结的帖子数:1                        未结的总分数:20                       
结贴的百分比:50.00 %               结分的百分比:0.00  %                  
无满意结贴率:100.00%               无满意结分率:---------------------
楼主加油

解决方案 »

  1.   

    用一个过滤器 。拦截 请求 把session 的打开放到请求中。
    当请求结束时候 关闭 session 
    类似 spring中的 OpenSessionInView
      

  2.   

    当对象中有一对多等关联的时候,如果采用的是延迟加载
    那么当查询返回的对象脱离session之后,在去访问里面的一对多的集合的时候,会出现上述错误
    解决办法
    1 把那个一对多的集合的lazy设置为false,让他在查询父的时候就把子对象直接加载进来2 lazy还是默认为true,在查询的时候不用get等方法,而是直接写createQuery里面用fetch直接抓取出来3 使用openSessionView过滤器,把session打开,这样在整个前后台的请求过程中session始终没有关闭。
      

  3.   

    先判断session是否等于NULL,吧session.close()写到if里面
      

  4.   


    这个是正解,
    用数据库连接池吧.这样那连接池去管理SESSION就可以了.你不用CLOSE
      

  5.   

    可能是延迟加载的问题,把lasy改为false