我正在开发 Spring Boot 应用程序,并在启动过程中遇到以下警告消息:
HHH000511:不再支持 [org.hibernate.dialect.MySQLDialect] 的 5.5.5 版本,因此某些功能可能无法正常工作。支持的最低版本是 8.0.0。检查社区方言项目以获取可用的旧版本。
我正在使用 Hibernate ORM 版本 6.5.2.Final 和 MySQL 数据库。我该如何解决这个问题?我应该升级 MySQL 版本或修改某些配置吗?任何指导将不胜感激。 谢谢!
使用最新的 MySQL 驱动程序依赖项:
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>9.0.0</version>
</dependency>
(删除其他依赖)
从 Hibernate 6.0 版本开始,诸如
MySQL5Dialect
之类的旧方言已移至名为 hibernate-community-dialects
的单独工件中。如果您使用旧的 MySQL 数据库版本,升级驱动程序不会有帮助 - 因为 Hibernate 通过查询服务器来获取必须使用的方言版本。
尝试添加这个神器:
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-community-dialects</artifactId>
<version>6.5.2.Final</version>
</dependency>
并在属性中设置方言为:
spring.jpa.database-platform=org.hibernate.community.dialect.MySQL55Dialect
对于 MySQL,该工件中有以下方言:
MySQL5Dialect
、MySQL55Dialect
、MySQL57Dialect
。