java - 将 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 是否有任何更改以获取此警告消息?如何处理此警告消息?
解决方案
推荐阅读
- json - 在 RestCoroller 中添加 JSON 消息
- java - 在 Java 中配置 HTTPS 代理
- oracle - Oracle 嵌套和连接
- javascript - uglify / webpack for production 之后的每个类的 Class.name 始终为“e”
- angular - 如何从应用程序中的任何位置打开模式
- php - 通过更新/使用 pivot laravel 5.5 有很多
- vue.js - vuejs 在代码/生命周期中应该在哪里触发数据检索
- laravel - 如何在laravel中格式化为包含逗号和点的十进制数?
- java - 如何在Java中拆分字符串并将其存储在不同的列表中
- google-compute-engine - 如何将启动脚本添加到 Windows VM 实例 Google