SpringBoot2.0整合jpa报错:error creating bean with name 'entityManagerFactory'

先说解决方法:
将maven中mysql-connector-java的版本指定为5.1.42.


    mysql
    mysql-connector-java
    5.1.42

如果你想知道为什么这样做,请接着看:
我们知道SpringBoot的Maven依赖中不需要自己添加版本号,这是因为SpringBoot的父项目的父项目已经帮我们配置好了。
如何查看默认的版本号?
在pom.xml里找到spring-boot-starter-parent,按CTRL加鼠标左键进入其父项目
SpringBoot2.0整合jpa报错:error creating bean with name 'entityManagerFactory'_第1张图片

你可以在父项目文件找到这个配置,按相同的方式查看。
SpringBoot2.0整合jpa报错:error creating bean with name 'entityManagerFactory'_第2张图片

最后我们可以看到一大串的版本号:
SpringBoot2.0整合jpa报错:error creating bean with name 'entityManagerFactory'_第3张图片

我们分别找下hibernate和mysql连接驱动的默认版本号:

这个错误产生的原因是mysql驱动的版本太高,hibernate版本不兼容所以报错了(可能兼容这词用的不太好),总之显式指定mysql驱动的版本号就行了。5.1.42是我测试可以用的,其他高于此的版本不太清楚能不能用,小伙伴们可以试一试。

你可能感兴趣的:(SpringBoot2.0踩坑)