SpringBoot项目遇HHH000511警告:OracleDialect 12.2.0版本不再支持
解决Hibernate HHH000511警告问题
问题描述
运行SpringBoot 3.2.2项目时功能正常,但终端出现如下警告:
HHH000511: The 12.2.0 version for [org.hibernate.dialect.OracleDialect] is no longer supported, hence certain features may not work properly. The minimum supported version is 19.0.0.
当前环境配置:
- Hibernate Core版本:
6.4.1 - Oracle JDBC依赖:
<dependency> <!-- Oracle - OJDBC --> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc11</artifactId> <scope>runtime</scope> </dependency>
- application.properties配置:
# JPA Settings #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.OracleDialect
解决方案
1. 警告原因
Hibernate 6.4.1已不再支持对应Oracle 12.2.0版本的org.hibernate.dialect.OracleDialect方言,最低要求适配Oracle 19.0.0及以上版本的方言。即使你注释了方言配置,Hibernate仍会自动检测数据库版本并尝试匹配旧方言,从而触发警告。
2. 核心修复步骤
不需要更新POM.xml中的依赖版本(ojdbc11已兼容Oracle 19c+),只需指定适配当前Oracle数据库版本的Hibernate方言:
- 若Oracle数据库为19c:取消application.properties中的方言注释,修改为
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle19cDialect
- 若为21c/23c:对应使用
org.hibernate.dialect.Oracle21cDialect或org.hibernate.dialect.Oracle23cDialect
3. 验证
重启SpringBoot项目,检查终端是否不再出现该警告。
内容的提问来源于stack exchange,提问作者Arancia Freschezza
相关产品推荐
相关产品推荐

