Jooq Postgresql设置autocommit=false

Jooq Postgresql set autocommit=false

提问人:jarasez 提问时间:7/3/2023 更新时间:7/5/2023 访问量:123

问:

我在带有 Hikari 池的 Spring 应用程序中使用 Jooq。事务管理是 Spring 默认的。 我正在尝试将 .stream() 功能与 .fetchSize() 一起使用,但是我收到警告“在自动提交 PostgreSQL 连接上设置了 x 的获取大小,不建议这样做”。 尝试使用以下命令禁用自动提交:

final Connection connection = dslContext.configuration().connectionProvider().acquire();
connection.setAutoCommit(false);
DSL.using(connection)
   .select(USER.fields()).
   .from(USER)
   .fetchSize(1000)
   .stream()

但我仍然收到警告,所有结果都返回。 如何将自动提交设置为 false?

Spring PostgreSQL Jooq Hikaricp 自动提交

评论

1赞 M. Deinum 7/3/2023
提取大小会影响网络往返,而不是返回的最大结果。Spring 已经将连接设置为 auto commit false,如果没有发生这种情况,则您的设置中有一些奇怪的东西
0赞 jarasez 7/4/2023
谢谢,问题是我在线程中执行查询。
0赞 Lukas Eder 7/4/2023
很高兴听到您找到了解决方案。请注意,您也可以在此处回答自己的问题,请参阅:stackoverflow.com/help/self-answer。这样,也许,您可以帮助将来发现这个问题的人,他们有类似的问题。

答:

0赞 jarasez 7/5/2023 #1

问题是我在线程中执行查询,因此未应用 Spring @Transactional。