Error creating bean with name ‘entityManagerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
更换版本号,这是由于mysql版本导致的。
既然是版本号导致的那肯定得找出问题所在,原来在 6.x 版本驱动的时候就将参数 nullCatalogMeansCurrent 的默认值由 true 改为了 false。
这个参数的意思是:是否默认返回 datasource 指定库的表。也就是如果为 true,那么就从我们指定的数据库中找表;如果为 false,那么就从所有库中找表。
目前发现两种解决方法
1:更换版本号
2:初始化连接的时候,为 nullCatalogMeansCurrent 参数指定为 true(在其他博客中发现的第二种方法)
jdbc.url=jdbc:mysql:///xxx?useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>