在Hibernate中我们每次关闭Session但是每次在Hibernate中关闭事务还是只有事务提交就足够了?
答案 0 :(得分:1)
我们只能begin
,commit
或rollback
进行交易。所以,closing
交易对我来说是模棱两可的。这是否意味着提交或回滚事务?
如果事务开始,将在客户端和服务器之间建立数据库连接。只有在事务提交,回滚或超时(如果数据库支持它)时,才会释放此连接。
致电session.close()
会致电java.sql.Connection#close()。根据JDBC规范,如果调用java.sql.Connection#close()并且存在活动事务,则此活动事务的结果取决于JDBC供应商的实现。在Postgresql的情况下,它将自动回滚。因此,强烈建议应用程序在session.close()