当我SSH集成框架操作多表联接时控制台会提示说:Session was closed!
有没有什么办法可以让我自己操作Session的开启和关闭,而不让它自动关闭呢?

解决方案 »

  1.   

     <!-- opensessioninview -->
    <filter>
            <filter-name>OpenSessionInViewFilter</filter-name>
            <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
            <filter-name>OpenSessionInViewFilter</filter-name>
            <url-pattern>/*</url-pattern>
    </filter-mapping>
    配置下OpenSessionInViewFilter就能解决懒加载问题了
      

  2.   

    这种办法也是自动关闭的Session  是在页面显示完后关闭的Session
      

  3.   


    是不是在Web.xml下配置的啊?可是我一运行页面就报
    java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
    这个错误!是不是还有什么地方漏了?
      

  4.   

    这个的原理是用一个FILTER监视每次REQUEST,保证其SESSION不关闭,直到request结束。
      

  5.   

    我遇到过跟你类似的问题
     
       一个是延迟加载,一个是立即加载
     
      比如说hibernate中的一个load方法和一个get方法,  我用的是load方法,就报了根你同样的错误,当我换成get方法后,错误就没有了。  当然还有其他的方法去解决比如在配置文件中将lazy=false这种改法也可以
      

  6.   

    楼上的兄弟!那hibernate的get方法怎么使用啊,在哪使用?