2013-05-06 64 views

回答

1

我們只能begin,commitrollback一筆交易。所以,closing交易對我來說是模棱兩可的。這是否意味着提交或回滾事務?

如果事務開始,將在客戶端和服務器之間建立數據庫連接。只有在事務提交,回滾或超時(如果數據庫支持它)時纔會釋放此連接。

調用session.close()將調用java.sql.Connection#close()。根據JDBC規範,如果調用java.sql.Connection#close()且存在活動事務,則此活動事務的結果取決於JDBC供應商的實現。在Postgresql的情況下,它會自動回滾。因此,強烈建議應用程序明確提交或回滾活動事務,然後再執行session.close()