spring-projects / spring-projects/spring-data-relational
Re-enable `JdbcAggregateTemplateSchemaIntegrationTests` for Oracle
Open
@schauder is already working on this.
Since Aug 13, 2026.
type: task
- Dominant language
- Java
- Stars
- 827
- Forks
- 394
- PR merge metrics
- No merged PRs in 30d
Description
After upgrading the Oracle driver to 23.26.3.0.0 (#2358), the test started to fail in the context of multi-schema key generation.
[ERROR] org.springframework.data.jdbc.core.JdbcAggregateTemplateSchemaIntegrationTests.insertFindUpdateDelete -- Time elapsed: 0.009 s <<< ERROR!
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [INSERT INTO "OTHER"."DUMMY_ENTITY" ("NAME") VALUES (?)]
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:112)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:102)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1549)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:689)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:997)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:367)
at org.springframework.data.jdbc.core.convert.IdGeneratingInsertStrategy.execute(IdGeneratingInsertStrategy.java:65)
at org.springframework.data.jdbc.core.convert.DefaultDataAccessStrategy.insert(DefaultDataAccessStrategy.java:133)
at org.springframework.data.jdbc.core.JdbcAggregateChangeExecutionContext.executeInsertRoot(JdbcAggregateChangeExecutionContext.java:76)
at org.springframework.data.jdbc.core.AggregateChangeExecutor.execute(AggregateChangeExecutor.java:89)
at org.springframework.data.jdbc.core.AggregateChangeExecutor.lambda$executeSave$0(AggregateChangeExecutor.java:62)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.springframework.data.relational.core.conversion.SaveBatchingAggregateChange.forEachAction(SaveBatchingAggregateChange.java:70)
at org.springframework.data.jdbc.core.AggregateChangeExecutor.executeSave(AggregateChangeExecutor.java:62)
at org.springframework.data.jdbc.core.JdbcAggregateTemplate.performSave(JdbcAggregateTemplate.java:598)
at org.springframework.data.jdbc.core.JdbcAggregateTemplate.save(JdbcAggregateTemplate.java:211)
at org.springframework.data.jdbc.core.JdbcAggregateTemplateSchemaIntegrationTests.insertFindUpdateDelete(JdbcAggregateTemplateSchemaIntegrationTests.java:50)
Caused by: java.sql.SQLSyntaxErrorException: ORA-04043: Object "OTHER" does not exist.
https://docs.oracle.com/error-help/db/ora-04043/
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:719)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:614)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1687)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:972)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:788)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:241)
at oracle.jdbc.driver.T4C8Odsy.doODSY(T4C8Odsy.java:211)
at oracle.jdbc.driver.T4C8Odsy.doODSYTable(T4C8Odsy.java:150)
at oracle.jdbc.driver.T4CConnection.getColumnMetaData(T4CConnection.java:9203)
at oracle.jdbc.driver.T4CConnection.doDescribeTable(T4CConnection.java:9191)
at oracle.jdbc.driver.AutoKeyInfo.initialize(AutoKeyInfo.java:553)
at oracle.jdbc.driver.OraclePreparedStatement.initializeAutoKeyInfo(OraclePreparedStatement.java:12399)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3966)
at oracle.jdbc.driver.OraclePreparedStatement.doExecuteLargeUpdate(OraclePreparedStatement.java:4352)
at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:4329)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4304)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1008)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
at org.springframework.jdbc.core.JdbcTemplate.lambda$update$1(JdbcTemplate.java:998)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:670)
... 13 more
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.