title: New Error in spring boot 2.3.0.RELEASE : UnsatisfiedDependencyException for Oracle 12.2.0.1 jdbcdriver but not with mysql jdbcdriver
body: <p>Created a fresh boot project with just jdbc and Oracle jdbc as dependencies </p>
  
  <blockquote>
  <pre><code>    &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-data-jdbc&lt;/artifactId&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;com.oracle&lt;/groupId&gt;
          &lt;artifactId&gt;ojdbc8&lt;/artifactId&gt;
          &lt;version&gt;12.2.0.1&lt;/version&gt;
      &lt;/dependency&gt;
  </code></pre>
  </blockquote>
  
  <p>I configure the datasource in the application.properties file and run this simple application and it bombs with below stacktrace. </p>
  
  <blockquote>
    <p>2020-05-25 15:07:16.769  WARN 11840 --- [           main]
    s.c.a.AnnotationConfigApplicationContext : Exception encountered
    during context initialization - cancelling refresh attempt:
    org.springframework.beans.factory.UnsatisfiedDependencyException:
    Error creating bean with name 'jdbcConverter' defined in class path
    resource
    [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]:
    Unsatisfied dependency expressed through method 'jdbcConverter'
    parameter 4; nested exception is
    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'jdbcDialect' defined in class path resource
    [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]:
    Bean instantiation via factory method failed; nested exception is
    org.springframework.beans.BeanInstantiationException: Failed to
    instantiate
    [org.springframework.data.relational.core.dialect.Dialect]: Factory
    method 'jdbcDialect' threw exception; nested exception is
    org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:
    Cannot determine a dialect for
    org.springframework.jdbc.core.JdbcTemplate@7fe083b1. Please provide a
    Dialect. 2020-05-25 15:07:16.769  INFO 11840 --- [           main]
    com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown
    initiated... 2020-05-25 15:07:17.023  INFO 11840 --- [           main]
    com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown
    completed. 2020-05-25 15:07:17.028  INFO 11840 --- [           main]
    ConditionEvaluationReportLoggingListener : </p>
    
    <p>Error starting ApplicationContext. To display the conditions report
    re-run your application with 'debug' enabled. 2020-05-25 15:07:17.035
    ERROR 11840 --- [           main] o.s.boot.SpringApplication<br>
    : Application run failed</p>
    
    <p>org.springframework.beans.factory.UnsatisfiedDependencyException:
    Error creating bean with name 'jdbcConverter' defined in class path
    resource
    [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]:
    Unsatisfied dependency expressed through method 'jdbcConverter'
    parameter 4; nested exception is
    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'jdbcDialect' defined in class path resource
    [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]:
    Bean instantiation via factory method failed; nested exception is
    org.springframework.beans.BeanInstantiationException: Failed to
    instantiate
    [org.springframework.data.relational.core.dialect.Dialect]: Factory
    method 'jdbcDialect' threw exception; nested exception is
    org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:
    Cannot determine a dialect for
    org.springframework.jdbc.core.JdbcTemplate@7fe083b1. Please provide a
    Dialect.  at
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:539)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:895)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
    ~[spring-context-5.2.6.RELEASE.jar:5.2.6.RELEASE]     at
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
    ~[spring-context-5.2.6.RELEASE.jar:5.2.6.RELEASE]     at
    org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]     at
    net.sincera.dbmigration.liquibasedemo.LiquibasedemoApplication.main(LiquibasedemoApplication.java:21)
    [classes/:na] Caused by:
    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'jdbcDialect' defined in class path resource
    [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class]:
    Bean instantiation via factory method failed; nested exception is
    org.springframework.beans.BeanInstantiationException: Failed to
    instantiate
    [org.springframework.data.relational.core.dialect.Dialect]: Factory
    method 'jdbcDialect' threw exception; nested exception is
    org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:
    Cannot determine a dialect for
    org.springframework.jdbc.core.JdbcTemplate@7fe083b1. Please provide a
    Dialect.  at
    org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1306)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1226)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   ... 19 common frames
    omitted Caused by:
    org.springframework.beans.BeanInstantiationException: Failed to
    instantiate
    [org.springframework.data.relational.core.dialect.Dialect]: Factory
    method 'jdbcDialect' threw exception; nested exception is
    org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:
    Cannot determine a dialect for
    org.springframework.jdbc.core.JdbcTemplate@7fe083b1. Please provide a
    Dialect.  at
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   at
    org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   ... 33 common frames
    omitted Caused by:
    org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:
    Cannot determine a dialect for
    org.springframework.jdbc.core.JdbcTemplate@7fe083b1. Please provide a
    Dialect.  at
    org.springframework.data.jdbc.repository.config.DialectResolver.lambda$getDialect$2(DialectResolver.java:76)
    ~[spring-data-jdbc-2.0.0.RELEASE.jar:2.0.0.RELEASE]   at
    java.util.Optional.orElseThrow(Optional.java:290) ~[na:1.8.0_241]     at
    org.springframework.data.jdbc.repository.config.DialectResolver.getDialect(DialectResolver.java:75)
    ~[spring-data-jdbc-2.0.0.RELEASE.jar:2.0.0.RELEASE]   at
    org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration.jdbcDialect(AbstractJdbcConfiguration.java:144)
    ~[spring-data-jdbc-2.0.0.RELEASE.jar:2.0.0.RELEASE]   at
    org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration$$EnhancerBySpringCGLIB$$5730cfab.CGLIB$jdbcDialect$1()
    ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]  at
    org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration$$EnhancerBySpringCGLIB$$5730cfab$$FastClassBySpringCGLIB$$5eb1865b.invoke()
    ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]  at
    org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
    ~[spring-core-5.2.6.RELEASE.jar:5.2.6.RELEASE]    at
    org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
    ~[spring-context-5.2.6.RELEASE.jar:5.2.6.RELEASE]     at
    org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration$$EnhancerBySpringCGLIB$$5730cfab.jdbcDialect()
    ~[spring-boot-autoconfigure-2.3.0.RELEASE.jar:2.3.0.RELEASE]  at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ~[na:1.8.0_241]   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    ~[na:1.8.0_241]   at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    ~[na:1.8.0_241]   at java.lang.reflect.Method.invoke(Method.java:498)
    ~[na:1.8.0_241]   at
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
    ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]   ... 34 common frames
    omitted</p>
  </blockquote>
  
  <p>If I run the above code using spring boot 2.2.7.RELEASE, it works just fine -- No exceptions!!</p>
  
  <p>After 2 days, I thought of configuring a mysql datasource on localhost. The same program runs just fine (with spring boot 2.3.0.RELEASE) but this time it used the mysql datasource.</p>
  
  <blockquote>
  <pre><code>    &lt;dependency&gt;
          &lt;groupId&gt;mysql&lt;/groupId&gt;
          &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
          &lt;scope&gt;runtime&lt;/scope&gt;
      &lt;/dependency&gt;
  </code></pre>
  </blockquote>
  
  <p>What is happening with the oracle jdbc driver in spring boot 2.3.0.RELEASE ?</p>
  
  <p>What is mysql jdbc driver doing correctly in spring boot 2.3.0.RELEASE ?</p>
  
  <p>Thank you.</p>