如果auto-commit = false,则Hikari DataSource在Spring Boot中返回null

时间:2019-04-11 16:24:38

标签: java spring spring-boot hikaricp

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

在IT测试中将调用以下功能。 (db。Oracle 11g)

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

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

在两种情况下均为auto-commit = false。

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

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

当我将auto-commit更改为spring.datasource.hikari.auto-commit = true时,它可以在hikari中使用,但是我不明白,为什么hikari的行为与tomcat-jdbc不同?我想念什么吗?

0 个答案:

没有答案