2014-02-24 42 views
2

请让我知道是getHibernateTemplate().flush()发布后提交数据库连接。如果不是什么程序来释放数据库连接。是getHibernateTemplate()。flush()发布数据库连接

我不能使用hibernate事务管理器来解决这个问题。

+0

你为什么不能够使用Spring,你应该用它来管理您的交易时使用'HibernateTransactionManager'。 –

回答

2

调用flush不管它在HibernateTemplate还是Session都没有释放任何东西,它只会将挂起的sql语句刷新到数据库。

一旦Session关闭,连接将立即释放,这取决于您的设置。

注意:HibernateTemplate从Hibernate 3.0.1开始应该被视为弃用(这是在引入上下文会话的时候),您应该支持使用HibernateTemplate的普通Session

0

getHibernateTemplate()。flush()在提交后不会释放数据库连接。 flush()将通过触发更新查询来使持久性上下文状态与数据库同步。

休眠会话结束时连接将被关闭。但是,一旦当前结束,您可以开始新的交易。

附加参考:function of getHibernateTemplate().flush()