Skip to content

Commit 9ef05d8

Browse files
committed
Moved dialect resolution logic into JdbcConfiguration
1 parent 4104477 commit 9ef05d8

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

spring-data-jdbc-ydb/src/main/java/tech/ydb/data/repository/config/AbstractYdbJdbcConfiguration.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package tech.ydb.data.repository.config;
22

3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.context.annotation.Bean;
35
import org.springframework.context.annotation.Configuration;
46
import org.springframework.context.annotation.Lazy;
57
import org.springframework.data.jdbc.core.convert.DefaultJdbcTypeFactory;
@@ -15,9 +17,16 @@
1517

1618
/**
1719
* @author Madiyar Nurgazin
20+
* @author Mikhail Polivakha
1821
*/
19-
@Configuration
22+
@Configuration(proxyBeanMethods = true)
2023
public class AbstractYdbJdbcConfiguration extends AbstractJdbcConfiguration {
24+
25+
@Bean
26+
public YdbDialectProvider ydbDialectProvider() {
27+
return new YdbDialectProvider();
28+
}
29+
2130
@Override
2231
public JdbcConverter jdbcConverter(
2332
JdbcMappingContext mappingContext,
@@ -32,4 +41,11 @@ public JdbcConverter jdbcConverter(
3241

3342
return new YdbMappingJdbcConverter(mappingContext, relationResolver, conversions, jdbcTypeFactory);
3443
}
44+
45+
@Override
46+
public Dialect jdbcDialect(NamedParameterJdbcOperations operations) {
47+
return ydbDialectProvider()
48+
.getDialect(operations.getJdbcOperations())
49+
.orElseThrow(() -> new IllegalStateException(String.format("Cannot determine a dialect for %s; Please provide a Dialect", operations)));
50+
}
3551
}

spring-data-jdbc-ydb/src/main/java/tech/ydb/data/repository/config/YdbDialectProvider.java

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
* @author Madiyar Nurgazin
1717
*/
1818
public class YdbDialectProvider extends DialectResolver.DefaultDialectProvider {
19+
1920
@Override
2021
public Optional<Dialect> getDialect(JdbcOperations operations) {
2122
Optional<Dialect> ydbDialect = Optional.ofNullable(

spring-data-jdbc-ydb/src/main/resources/META-INF/spring.factories

-1
This file was deleted.

0 commit comments

Comments
 (0)