我正在使用TransactionInterceptor打开事务,并使用Hibernate事务管理器和com.zaxxer.hikari.hikariDataSource作为数据源。
我已经为数据源和hib属性hibernate.connection.provider_disabled_autocommit设置了自动提交值,如下所示
<property name="autoCommit" value="false"/>
<prop key="hibernate.connection.provider_disables_autocommit">true</prop>
即使这样,交易也是在需要之前很久就被打开的。
5.3.1. hibernate-core的最终版本用于上述操作。
我使用了以下参考资料。
https://github.com/spring-projects/spring-boot/issues/9261
https://vladmihalcea.com/why-you-should-always-use-hibernate-connection-provider_disables_autocommit-for-resource-local-jpa-transactions/
请让我知道,如果有任何其他事情需要做或什么是延迟的确切含义。
先谢谢你。
1条答案
按热度按时间soat7uwm1#
除了像你那样在休眠中将autocommit设置为false之外,你还需要在连接池级别将autocommit设置为false。否则,它不会像你的例子中那样有效。比如,对于Hikari池,你需要如下配置: