hibernate session不关闭会有什么后果.

看是怎么获得session的。
方法1:
    通过配置监听器后,在Dao中用getCurrentSession获取,此时无需管理session的关闭与否;
方法2:
    在Dao中通过getSession获取,使用后必须关闭session。

不关闭session的后果是,随着系统的运行,数据库连接数将逐渐增多,最终导致数据库拒绝连接。
数据库拒绝连接后,重新启动应用,原有连接将释放,此时应用又可正常运行。
如果发现应用存在连接未释放问题而一时半会又不能正确定位时,可通过定时触发的计划任务,重新启动应用,保证应用在一定程度上可用。
如果数据库是db2,那么可能还需要重新启动数据库所在的服务器(操作系统)。

一直使用方法2,会不会造成过多服务器开销
(1.现在系统有时候突然就慢下来了,过了一会又好了)
(2,也有同事的系统未关闭session,却没有慢和拒绝连接的问题)

你可能感兴趣的:(hibernate session不关闭会有什么后果.)