在struts1+hibernate+spring项目里,业务层有如下代码:public class Test extends HibernateDaoSupport {
    public List findAll(){
         List list = super.getSession().createQuery(sql).list();//其它省略
    }
}
我想问一下,这里我没有关闭SESSION,spring会给我自动关闭吗?

解决方案 »

  1.   

    业务层?
    应该用this.getHibernateTemplate()
      

  2.   

    我知道,但这样查询出来的都是一个对象。如果我修改USER对象,里面有20个属性,我只修改其中1个属性,如果用this.getHibernateTemplate().update(),哪么我需要设置对象的每个属性,如果我用原始SQL的话就不用这么麻烦了啊。
    我只是想知道这样能不能关闭session
      

  3.   

    Session session=this.getSession(true);
    能关闭
      

  4.   

    要是还不行的话 参考一下我空间转载的这篇关于SSH Session关闭的问题吧:
    http://blog.csdn.net/Jerry_BJ/archive/2010/07/04/5712551.aspx
      

  5.   

    如果你用Heibernate的session就不会帮你关闭
      但是如果你用(Spring)this.getHibernateTemplate()它就会帮你关闭