0

In Hibernate we close Session each time but is it necessary to close transaction each time in Hibernate or only transaction commit is sufficient?

4

1 回答 1

1

我们只能begincommit还是rollback一笔交易。所以,closing一笔交易对我来说是模棱两可的。这是否意味着提交或回滚事务?

如果事务开始,客户端和服务器之间将建立数据库连接。仅当事务提交、回滚或超时(如果数据库支持)时,才会释放此连接。

调用session.close()将调用java.sql.Connection#close()。根据 JDBC 规范,如果调用java.sql.Connection#close()并且有一个活动事务,那么这个活动事务的结果取决于 JDBC 供应商的实现。在 Postgresql 的情况下,它会自动回滚。因此强烈建议应用程序显式提交或回滚活动事务之前session.close()

于 2013-05-06T07:14:03.623 回答