使用hikari的Spring :为什么hikari自动提交属性设置为“true”?

使用hikari的Spring :为什么hikari自动提交属性设置为“true”?

Spring数据JPA或Hibernate默认将自动提交设置为false。这听起来很合理,因为这些框架与实体一起工作,对实体的更新可能涉及通过多个SQL查询对多个表进行更新。因此,通过设置自动提交为false并显式控制事务,这些框架确保了对实体的更改是原子的和一致的。

但是现在Hikari是spring数据jpa的默认连接池提供者,在查看应用程序日志时,我看到hikari设置了连接池的true自动提交。

代码语言:javascript复制2021-10-24 11:30:07.815 DEBUG [restartedMain] com.zaxxer.hikari.HikariConfig||HikariConfig.logConfiguration:1135: autoCommit................................true任何关于为什么会这样设置和是否会影响事务的解释(我不认为它会影响事务,因为每个事务可能再次将自动提交设置为false,从而接管提交事务的时间)。

编辑-追踪@ken答案和讨论.

对于使用带有@Transactional的spring的项目(使用100% Hiberante),将hikaris连接池设置更改为auto-commit=false应该会提高性能。请参阅答案和后续讨论,以了解更多细节。

相关推荐

双相情感障碍:关于比抑郁更可怕的“钟摆病”,你必须知道的5件事
《普法栏目剧》 20110903 清凉播出季之超级保姆
伊涅斯塔加时赛绝杀 西班牙1-0胜荷兰首夺世界杯