WildFly 10.0 中的 Hibernate 版本不匹配

Hibernate version mismatch in WildFly 10.0

我有2个项目,一个是普通的java项目(有maven):core,另一个是非maven动态web项目:webapi。后者充当 core.

之上的休息层

core 使用休眠没有任何问题。它定义 persistence.xml(在 src/META-INF/ 内)如下:

<?xml version="1.0" encoding="utf-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="app" transaction-type="RESOURCE_LOCAL">

        <class>data.entities.Anything</class>
        <class>data.entities.Something</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
            <property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://localhost;databaseName=AppDb"></property>
            <property name="javax.persistence.jdbc.user" value="****"></property>
            <property name="javax.persistence.jdbc.password" value="****"></property>
            <property name="hibernate.default_schema" value="dbo"></property>           
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2008Dialect"></property>
            <property name="hibernate.hbm2ddl.auto" value="update"></property>
        </properties>
    </persistence-unit>
</persistence>

webapi 使用 core 并尝试将 core 的功能公开为服务。我已将 core 添加到 "Java Build Path" 和 webapi 的 "Deployment Assembly"。由于我使用的是 SQL 服务器,sqljdbc42.jar 也被添加到 webapi 的 "Deployment Assembly"。

但是,当我尝试在 WildFly 10.0 中部署 webapi 时,休眠实体管理器未正确实例化。我主要怀疑 corewebapi 中的 hibernate-core 版本不匹配。 core 使用 hibernate-core 5.2.4.Final,而对于 webapi,它来自 WildFly 运行时,即 5.0.7.Final。这可以从下面的日志中看出:

如何纠正?

这可以通过在 Wildfly 中更改 Hibernate 核心版本来解决。为此,请像这样更改 META-INF/persistence.xml 文件:

<properties>
    <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.2" />
    ...
</properties>

添加一些微版本:

<property name="jboss.as.jpa.providerModule" value="org.hibernate:5.2.4.Final" />

礼貌 link :http://in.relation.to/2016/07/07/updating-hibernate-orm-in-wildfly/