diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcInsert.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcInsert.java index 0284639bbaa..eb4413af450 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcInsert.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcInsert.java @@ -109,13 +109,13 @@ public class SimpleJdbcInsert extends AbstractJdbcInsert implements SimpleJdbcIn } @Override - public SimpleJdbcInsertOperations withoutTableColumnMetaDataAccess() { + public SimpleJdbcInsert withoutTableColumnMetaDataAccess() { setAccessTableColumnMetaData(false); return this; } @Override - public SimpleJdbcInsertOperations includeSynonymsForTableColumnMetaData() { + public SimpleJdbcInsert includeSynonymsForTableColumnMetaData() { setOverrideIncludeSynonymsDefault(true); return this; } diff --git a/spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcInsertTests.java b/spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcInsertTests.java index ae35ec172e1..94695745579 100644 --- a/spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcInsertTests.java +++ b/spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcInsertTests.java @@ -64,6 +64,28 @@ class SimpleJdbcInsertTests { } + /** + * This method does not test any functionality but rather only that + * configuration methods can be chained without compiler errors. + */ + @Test // gh-31177 + void methodChaining() throws Exception { + SimpleJdbcInsert insert = new SimpleJdbcInsert(dataSource) + .withCatalogName("my_catalog") + .withSchemaName("my_schema") + .withTableName("my_table") + .usingColumns("col1", "col2") + .usingGeneratedKeyColumns("id") + .usingQuotedIdentifiers() + .withoutTableColumnMetaDataAccess() + .includeSynonymsForTableColumnMetaData(); + + assertThat(insert).isNotNull(); + + // Satisfy the @AfterEach mock verification. + connection.close(); + } + @Test void noSuchTable() throws Exception { ResultSet resultSet = mock();