gpt4 book ai didi

jdbc - HikariCP:SELECT 查询由于 close() 上的脏提交状态而执行回滚

转载 作者:行者123 更新时间:2023-12-03 21:30:04 25 4
gpt4 key购买 nike

我正在尝试在遗留系统中使用 HikarCP。我将 autocommit 配置为 false,这正是我们想要的,并意识到我的日志充满了

[c.z.h.p.ProxyConnection][ProxyConnection.java:232] ora - Executed rollback on connection net.sf.log4jdbc.ConnectionSpy@3f2bba67 due to dirty commit state on close().

当在发出查找程序查询后关闭从池中获取的连接时,就会发生这种情况。在连接生命周期内不会发生插入/更新/删除。这是选择查询的方式吗?每次选择后我应该做一次 COMMIT 吗?

最佳答案

是的,你应该 promise 。甚至 SELECT 查询也会启动事务并获取锁。特别是具有不同的隔离级别,甚至取决于数据库,即使是 TRANSACTION_READ_COMMITTED。

当 autocommit 为 false 时,HikariCP 将非显式提交视为应用程序错误。其他一些池支持配置“commit-on-close”,但 HikariCP 认为这是有风险的,并且是一种支持从未正确编写的应用程序的黑客。

JDBC 规范明确没有说明没有自动提交的连接是否应该自动提交或回滚。这是驱动程序开发人员留下的实现细节。

关于jdbc - HikariCP:SELECT 查询由于 close() 上的脏提交状态而执行回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com