日期:2014-05-20  浏览次数:20647 次

hibernateTemplate的问题
使用spring+hibernate架构
我在保存数据的时候,DAO类的部分代码(这些DAO类继承HibernateDaoSupport)
return this.getHibernateTemplate().save()

我想问下,这样保存数据后,它能自动释放数据库连接吗?我印象中HibernateTemplate的类是可以做到的自动释放数据库连接的

而在查询的部分的DAO(这些DAO类继承HibernateDaoSupport)
Query query =this.getSession().createQuery(hql)
  query.setString("user","001")
Iterator ite=query.list().iterator()
这样的查询数据后,它能不能释放数据库连接哦,如果不能,我要手工加些什么东西哦,最好不要加try catch的东西

------解决方案--------------------
HibernateTemplate 是个模板 就会把固定的流程写在里面的 
它会自动释放连接的吧 也就是自动关闭Session
有时候就会引起 延迟加载 异常

在web开发中 通常还配置一个过滤器 OpenSessionInViewFilter
这样就是一个线程对应一个Session
------解决方案--------------------
Session session = this.getSession();
Query query =session().createQuery(hql) 
query.setString("user","001") 
Iterator ite=query.list().iterator() ;
...
session.close();//!!

------解决方案--------------------
需要手工关闭连接的,在结尾加上session.close();