当前位置: 代码迷 >> Java Web开发 >> 关于Struts2+Hibernate+Spring整合的sessionFactory的close有关问题
  详细解决方案

关于Struts2+Hibernate+Spring整合的sessionFactory的close有关问题

热度:176   发布时间:2016-04-16 21:58:54.0
关于Struts2+Hibernate+Spring整合的sessionFactory的close问题
首先程序的service大概这样:

               Session session = DAO.getSession().openSession();
try {
........
} finally {
session.close();
DAO.closesession();
}

在Spring没有和Struts2整合之前数据库访问没有问题
----------------------------------------------------------------------------
在Spring和Struts2整合之后只要写上
DAO.closesession();
就会报错: Unknown service requested [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
-----------------------------------------------------------------------------
而去掉
DAO.closesession();
就不会报错。
============================================
我就是想明白这是为什么?
------解决方案--------------------
你的DAO.closesession();不会是关闭sessionFactory吧?sessionFactory一般是在应用服务器关闭,程序被卸载的时候才能关的,所以你本身就不应该关它,不管是不是整合spring。至于报错,你应该是把sessionFactory交给spring容器管理了,所以你手动关它肯定不对了。
  相关解决方案