有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果autocommit=false,java Hikari数据源在Spring引导中返回null

我正在将一个项目从tomcat jdbc转移到hikari。我迁移了配置,但在以下情况下其行为不同

在IT测试中调用以下函数。(数据库:Oracle 11g)

Long id= jdbcTemplate.queryForObject("select vehicles.create_vehicle(?,?) from dual", Long.class, ...);

当使用tomcat jdbc时,它返回一个非空的id值。这是预期的,但当我切换到hikari时,它返回null

在这两种情况下,都是自动提交=false

spring.datasource.tomcat.default-auto-commit=false
spring.datasource.hikari.auto-commit=false

我怀疑是隔离级别,但当我检查实际的JDBC连接时,两者都是隔离级别=2

当我将自动提交更改为spring时。数据源。希卡里。auto commit=true,它在hikari中工作,但我不明白,为什么hikari的行为与tomcat jdbc不同?我错过什么了吗


共 (0) 个答案