Hibernate属性:hibernate.connection.autocommit

时间:2014-04-09 06:36:15

标签: hibernate

我没有在My Hibernate配置文件中设置此属性,我使用Hibernate配置使用Postgres数据库连接。 但我的交易执行得很好,但没有坚持DB。 设置此属性后,'COMMIT'问题是解决的。 但是当我使用Jboss的PostgresDS文件进行数据库连接而没有这个属性时,所有的事务都是持久的并且工作正常..

这个属性是否必要? (我想是这样 - 因为它解决了我的问题)  但这个财产的其他后果是什么?

1 个答案:

答案 0 :(得分:0)

默认情况下,autocommit值为false,因此需要显式提交事务。这可能是更改没有反映在数据库中的原因,否则可以尝试flush在提交之前强制进行更改。

当您关闭会话时,它将隐式地在数据库中提交[取决于实现]。

当你有级联交易&需要回滚原子性,你需要控制交易&在这种情况下,自动提交应该是假的。

将autocommit设置为true或显式处理事务。