首页 > 解决方案 > 将 WildFly 从 8 升级到 14 java.sql.SQLSyntaxErrorException: ORA-02275: 这样的引用约束已经存在于表中

问题描述

我的项目使用 Hibernate 作为 JPA 提供程序,我将 WildFly 版本从 8.2.1.Final 版本升级到 14.0.1.Final 版本。该项目在 WildFly 8.x 版本上运行没有问题。当我在 WildFly 14.x 版本上不进行任何更改并运行项目时,我会收到以下警告消息:

Caused by: java.sql.SQLSyntaxErrorException: ORA-02275: such a referential constraint already exists in the table

我检查并看到 WildFly 8.x 包含并使用 Hibernate 4.3.7 版本。WildFly 14.x 包含并使用 Hibernate 5.3.6。

我的项目使用 Hibernate 4.3.5。我在persistence.xml中使用更新值调用hibernate.hbm2ddl.auto属性。我认为 Hibernate 不应该尝试创建任何东西,因为数据库实体没有变化。

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.5.Final</version>
            <exclusions>
                <exclusion>
                    <groupId>dom4j</groupId>
                    <artifactId>dom4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.5.Final</version>
            <exclusions>
                <exclusion>
                    <groupId>dom4j</groupId>
                    <artifactId>dom4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

hbm2ddl.auto 属性及其值:

<property name="hibernate.hbm2ddl.auto" value="update"/>

Hibernate 从 4.3.7 到 5.3.6 是否有任何更改以获取此警告消息?如何处理此警告消息?

标签: javahibernatewildfly

解决方案


推荐阅读