JBoss EAP 6.4 -> 7.1 使用休眠 4 而不是默认休眠 5

Posted

技术标签:

【中文标题】JBoss EAP 6.4 -> 7.1 使用休眠 4 而不是默认休眠 5【英文标题】:JBoss EAP 6.4 -> 7.1 Using hibernate 4 instead of default hibernate 5 【发布时间】:2019-05-04 13:05:06 【问题描述】:

我们正在尝试升级并从休眠6.4迁移到7.1

我们已经为此运行了迁移工具,这些工具已经触及了我们的standalone.xml,现在一切看起来都还不错。

但是,我们的项目使用休眠 4(6.4 中的默认值),但 7.1 使用休眠 5,我们在启动时遇到休眠错误。

在 7.1 中 使用 hibernate 4 而不是 hibernate 5 的最佳和最简单的方法是什么?

我们正在运行一个 ma​​ven 项目,据我所知,pom 文件中的任何位置都没有任何 hibernate 声明 的迹象。

但是,有一些关于 jboss-as-web 和 jboss-as-maven-plugins 的引用,但不确定它们实际上是做什么的。也许另一个版本可以解决这个问题?

    <dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-web</artifactId>
        <version>7.1.1.Final</version>
        <scope>provided</scope>
    </dependency>

   <plugin>
       <groupId>org.jboss.as.plugins</groupId>
       <artifactId>jboss-as-maven-plugin</artifactId>
       <version>7.4.Final</version>
   </plugin>

我正在考虑在 pom 中定义 hibernate dependency 可能会解决此问题,并强制 jboss eap 使用 hibernate,但不确定是否要在独立中定义以使用 hibernate 4。循环时间有点长。

关于是否可以使用 hibernate 4 代替 hibernate 5 有任何想法或想法吗?

【问题讨论】:

我建议不要使用提供的其他休眠版本,除非 Redhat 提供了如何执行此操作的文档。相反,我会在启动时关注提到的休眠错误。由于您使用的是 JBoss EAP,您应该能够为此使用 Redhat 开一张票(关于休眠错误和/或切换休眠版本)。 @Frito 许可证有问题,正在等待提交工单。但是,强制我们使用hibernate 5需要大量的代码更新。 4 和 5 不是 100% 兼容的。 我找到了这个:docs.jboss.org/author/display/AS7/JPA+Reference+Guide,但还不是很清楚。部分文件丢失。 【参考方案1】:

我不确定我是否可以引用原始 JBoss 文档。我猜不是 ;-)

请查看JBoss EAP 7.1 Migration Guide - Chapter 5.7.2。

【讨论】:

以上是关于JBoss EAP 6.4 -> 7.1 使用休眠 4 而不是默认休眠 5的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Jboss-eap-6.4 中部署 Spring Boot 应用程序

Jboss eap 6.4 https 配置监听端口 8443 失败

JBOSS EAP 6.4 无法加载拓扑

JBoss EAP 6.4 Infinispan 集群缓存网络问题

如何定义 JBoss 安全角色 - 从 WebSphere 迁移到 EAP 6.4

RestEasy + Jackson 和 JBoss EAP 6.4