2014-02-24 44 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()