楼主因为在hibernate中是Threadlocal管理session的你的session.close()后,Threadlocal的还没有马上请空的,如果你hibernate的session资源不够就很容易产生Too many connections的异常,可以这样解决都可以试试
1添加一个连接池配置文件,增加session线程池的线程数,通过设置
org.hibernate.connection.C3P0ConnectionProvider
2用楼上的方法,将session.close()修改为:sessionFactory.closeSession(),因为用sessionFactory关闭session会清空ThreadLocal的session
试试吧楼主如果不行,可能还是某一个session的问题
--------------------------------------------
没写对,不好意思是hibernateSessionFactory.closeSession()
_____________________________________________是不是你经常要用到hibernate插入大量数据?
是提示out of memory吗
因为hibernate使用缓存插入数据的,当你save时
它只是把数据保存在session中,没有马上插入,所以经常插入大量数据会造成内存不够
______________________________________________-
不过有解决方法的楼主
通过session工厂关闭session对象。
将session.close()修改为:HibernateSessionFactory.closeSession()
看上去像是权限不够·又像是链接报错