The Spring Data JDBC module is approaching its first GA release and I’m wondering what would be the best approach to get Spring Boot support for it. Relevant resources are: https://github.com/spring-projects/spring-data-jdbc https://spring.io/admin/blog/3396-introducing-spring-data-jdbc
A long time ago we created a boot starter for it, which I didn’t update for a long time and which is broken right now: https://github.com/schauder/spring-data-jdbc-boot-starter
Comment From: philwebb
It looks like it won't be too hard to add this. The only slight problem is the naming of the starter since we already have JDBC support without Spring Data.
Comment From: snicoll
spring-boot-starter-jdbc
and spring-boot-starter-data-jdbc
look like obvious candidates to me. Exposing that on start.spring.io is not that obvious though (if we decide to do so).
Comment From: schauder
I think it should have data-jdbc
in the name spring
+ jdbc
without data
typically refers to JdbcTemplate
& Co
Comment From: wilkinsona
Indeed, and that is what @snicoll has proposed. We already have spring-boot-starter-jdbc
and the new starter would be named spring-boot-starter-data-jdbc
.
We probably also want a test slice annotation for Data JDBC to go alongside @DataJpaTest
, @DataMongTest
etc. We already have @JdbcTest
for plain JDBC testing. @DataJdbcTest
avoids a clash and matches the convention of the other Spring Data-related testing annotations.
Comment From: wilkinsona
I think I've found a bug when multiple Spring Data stores are on the classpath:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jdbcMappingContext' defined in class path resource [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]: Unsatisfied dependency expressed through method 'jdbcMappingContext' parameter 1; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.data.convert.CustomConversions' available: expected single matching bean but found 3: jdbcCustomConversions,mongoCustomConversions,redisCustomConversions
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:767)
…
I've raised it with the Spring Data team and am awaiting their input.
Comment From: wilkinsona
@schauder has raised https://jira.spring.io/browse/DATAJDBC-267.
Comment From: Sreekanth552
What is the solution other than raising