Adapt to changes in Spring Data JDBC 4.0.0 snapshots

This commit is contained in:
Stéphane Nicoll
2025-10-28 17:44:51 +01:00
parent 6c0967cb70
commit 9bf712349f
3 changed files with 17 additions and 16 deletions
@@ -20,6 +20,7 @@ import java.util.function.Function;
import org.springframework.data.jdbc.core.dialect.DialectResolver;
import org.springframework.data.jdbc.core.dialect.JdbcDb2Dialect;
import org.springframework.data.jdbc.core.dialect.JdbcDialect;
import org.springframework.data.jdbc.core.dialect.JdbcH2Dialect;
import org.springframework.data.jdbc.core.dialect.JdbcHsqlDbDialect;
import org.springframework.data.jdbc.core.dialect.JdbcMariaDbDialect;
@@ -27,7 +28,6 @@ import org.springframework.data.jdbc.core.dialect.JdbcMySqlDialect;
import org.springframework.data.jdbc.core.dialect.JdbcOracleDialect;
import org.springframework.data.jdbc.core.dialect.JdbcPostgresDialect;
import org.springframework.data.jdbc.core.dialect.JdbcSqlServerDialect;
import org.springframework.data.relational.core.dialect.Dialect;
import org.springframework.jdbc.core.JdbcOperations;
import org.springframework.util.Assert;
@@ -81,22 +81,22 @@ public enum DataJdbcDatabaseDialect {
*/
SQL_SERVER(JdbcSqlServerDialect.INSTANCE);
private final Function<JdbcOperations, Dialect> dialectResolver;
private final Function<JdbcOperations, JdbcDialect> jdbcDialectResolver;
DataJdbcDatabaseDialect(Class<? extends Dialect> dialectType) {
this.dialectResolver = (jdbc) -> {
Dialect dialect = DialectResolver.getDialect(jdbc);
Assert.isInstanceOf(dialectType, dialect);
DataJdbcDatabaseDialect(Class<? extends JdbcDialect> jdbcDialectType) {
this.jdbcDialectResolver = (jdbc) -> {
JdbcDialect dialect = DialectResolver.getDialect(jdbc);
Assert.isInstanceOf(jdbcDialectType, dialect);
return dialect;
};
}
DataJdbcDatabaseDialect(Dialect dialect) {
this.dialectResolver = (jdbc) -> dialect;
DataJdbcDatabaseDialect(JdbcDialect jdbcDialect) {
this.jdbcDialectResolver = (jdbc) -> jdbcDialect;
}
Dialect getDialect(JdbcOperations jdbc) {
return this.dialectResolver.apply(jdbc);
JdbcDialect getJdbcDialect(JdbcOperations jdbc) {
return this.jdbcDialectResolver.apply(jdbc);
}
}
@@ -39,12 +39,12 @@ import org.springframework.data.jdbc.core.convert.DataAccessStrategy;
import org.springframework.data.jdbc.core.convert.JdbcConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
import org.springframework.data.jdbc.core.convert.RelationResolver;
import org.springframework.data.jdbc.core.dialect.JdbcDialect;
import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration;
import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories;
import org.springframework.data.jdbc.repository.config.JdbcRepositoryConfigExtension;
import org.springframework.data.relational.RelationalManagedTypes;
import org.springframework.data.relational.core.dialect.Dialect;
import org.springframework.data.relational.core.mapping.NamingStrategy;
import org.springframework.data.relational.core.mapping.Table;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
@@ -115,7 +115,7 @@ public final class DataJdbcRepositoriesAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public JdbcConverter jdbcConverter(JdbcMappingContext mappingContext, NamedParameterJdbcOperations operations,
@Lazy RelationResolver relationResolver, JdbcCustomConversions conversions, Dialect dialect) {
@Lazy RelationResolver relationResolver, JdbcCustomConversions conversions, JdbcDialect dialect) {
return super.jdbcConverter(mappingContext, operations, relationResolver, conversions, dialect);
}
@@ -138,16 +138,16 @@ public final class DataJdbcRepositoriesAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public DataAccessStrategy dataAccessStrategyBean(NamedParameterJdbcOperations operations,
JdbcConverter jdbcConverter, JdbcMappingContext context, Dialect dialect) {
JdbcConverter jdbcConverter, JdbcMappingContext context, JdbcDialect dialect) {
return super.dataAccessStrategyBean(operations, jdbcConverter, context, dialect);
}
@Override
@Bean
@ConditionalOnMissingBean
public Dialect jdbcDialect(NamedParameterJdbcOperations operations) {
public JdbcDialect jdbcDialect(NamedParameterJdbcOperations operations) {
DataJdbcDatabaseDialect dialect = this.properties.getDialect();
return (dialect != null) ? dialect.getDialect(operations.getJdbcOperations())
return (dialect != null) ? dialect.getJdbcDialect(operations.getJdbcOperations())
: super.jdbcDialect(operations);
}
@@ -41,6 +41,7 @@ import org.springframework.data.jdbc.core.JdbcAggregateTemplate;
import org.springframework.data.jdbc.core.convert.DataAccessStrategy;
import org.springframework.data.jdbc.core.convert.JdbcConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
import org.springframework.data.jdbc.core.dialect.JdbcDialect;
import org.springframework.data.jdbc.core.dialect.JdbcPostgresDialect;
import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration;
@@ -193,7 +194,7 @@ class DataJdbcRepositoriesAutoConfigurationTests {
@Test
void allowsUserToDefineCustomDialect() {
allowsUserToDefineCustomBean(DialectConfiguration.class, Dialect.class, "customDialect");
allowsUserToDefineCustomBean(DialectConfiguration.class, JdbcDialect.class, "customDialect");
}
@Test