You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在wildfly-preview-25.0.0.Final上搭配Jakarta 9使用Hibernate ORM 5.5.x.Final

错误根因

你遇到的WFLYJPA0057报错核心由两个问题导致:

  • WildFly Preview 25默认适配Jakarta EE 9规范,所有原有javax.persistence相关的类包全部重命名为jakarta.persistence,而你当前使用的Hibernate OGM 5.4.1.Final是基于Java EE(javax包)开发的,本身没有适配Jakarta EE 9,也没有被预置在WildFly Preview 25的内置模块中
  • 你在persistence.xml中配置的jboss.as.jpa.providerModule值指向的是Hibernate ORM的模块,而org.hibernate.ogm.jpa.HibernateOgmPersistence属于独立的Hibernate OGM模块,配置完全不匹配

可行解决方案

方案一(长期推荐):替换Hibernate OGM

Hibernate OGM已经停止官方维护,不会推出适配Jakarta EE 9及更高版本的官方包,建议直接替换为MongoDB官方推出的Jakarta持久化实现,或者使用Hibernate ORM 6+的原生NoSQL映射能力,可从根本上解决兼容性问题。

方案二(临时适配):手动改造Hibernate OGM适配Jakarta EE 9

如果暂时无法替换依赖,可以按照以下步骤手动适配部署:

  1. 包名迁移改造:下载Eclipse Transformer工具,将你现有正常使用的所有Hibernate OGM相关jar包(包括你列出的parboiled、hql、mongodb驱动、OGM核心、jipijapa适配包)全部做包名转换,将包内所有javax引用替换为jakarta,转换命令为:
    java -jar org.eclipse.transformer.cli-<版本号>.jar <输入原始jar路径> <输出转换后jar路径>
    
  2. Hibernate ORM 5.5.8包获取:你下载的hibernate-release-5.5.8.Final.zip压缩包内的lib/required目录下就包含所有Hibernate ORM 5.5.8的核心jar包,同样用上述工具做包名转换。
  3. WildFly模块部署
    • 按照你原有普通WildFly 25的模块路径,在WildFly Preview 25的modules目录下创建完全相同的层级目录,比如org/hibernate/ogm/5.4/、org/hibernate/ogm/mongodb/5.4/等
    • 将转换后的所有jar包放入对应目录,每个目录下新建module.xml文件,配置正确的模块依赖,所有涉及持久化的依赖要指定为Jakarta.persistence.api模块,不要依赖旧的javax.persistence模块
  4. 调整persistence.xml配置
    • 将jboss.as.jpa.providerModule的属性值修改为org.hibernate.ogm:5.4,指向你手动创建的OGM模块
    • 检查所有配置的类全限定名,确认都是适配Jakarta规范的版本,比如JTA平台类如果存在javax包引用要同步替换

注:该方案为临时兼容方案,无后续官方维护支持,仅可用于短期过渡。

内容的提问来源于stack exchange,提问作者NOTiFY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:06:01