如何在Quarkus项目中使用Hibernate 6.0.0.Alpha7版本?
解答
Quarkus 2.1.4.Final所属的2.x版本分支官方默认适配Hibernate ORM 5.x系列,和Hibernate 6.0的API、内部实现存在大量不兼容,强制替换版本大概率会出现扩展功能失效、启动异常等问题,请优先评估风险后操作。
如果确实需要强制使用Hibernate 6.0.0.Alpha7版本,可按如下步骤调整配置:
- 第一步:排除Quarkus Hibernate扩展默认传递的Hibernate核心依赖
修改quarkus-hibernate-orm依赖配置,添加排除规则:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-hibernate-orm</artifactId> <exclusions> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </exclusion> </exclusions> </dependency>
- 第二步:显式声明指定版本的Hibernate依赖
在pom.xml的依赖列表中手动引入目标版本的Hibernate核心包:
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>6.0.0.Alpha7</version> </dependency>
- 第三步:统一锁定Hibernate组件版本(可选)
如果项目中存在其他依赖传递引入不同版本Hibernate的情况,可在pom.xml的<dependencyManagement>节点中统一锁定所有Hibernate相关组件的版本为6.0.0.Alpha7,彻底规避版本冲突问题。
更稳妥的替代方案
如果可以调整Quarkus版本,建议直接升级到Quarkus 3.x及以上版本,该版本分支官方原生适配Hibernate ORM 6.x系列,无需手动修改依赖即可获得官方兼容支持,稳定性更有保障。
内容的提问来源于stack exchange,提问作者Marília Portela
相关产品推荐
相关产品推荐

