【问题标题】:HIbernate schema update errorHIbernate 模式更新错误
【发布时间】:2010-11-23 15:42:17
【问题描述】:

在 Jboss 服务器启动期间,我得到以下堆栈跟踪。我想知道为什么 JPA 试图改变看起来很好的表以及如何传递这些错误消息。 谢谢

2009-08-03 11:28:49,683 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] 不成功:更改表 BDPARAMS 添加约束 FK61733C48FA34BFDC 外键 (ITEMID) 引用 RTELEMENT 2009-08-03 11:28:49,683 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] 不成功:更改表 BDPARAMS 添加约束 FK61733C48FA34BFDC 外键 (ITEMID) 引用 RTELEMENT 2009-08-03 11:28:49,683 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] ORA-02275:表中已经存在这样的引用约束

2009-08-03 11:28:49,683 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] ORA-02275:表中已存在此类引用约束

2009-08-03 11:28:49,745 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] 不成功:更改表内容添加约束 FK692B5EEC44F32395 外键(父 ID)引用内容 2009-08-03 11:28:49,745 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] 不成功:更改表内容添加约束 FK692B5EEC44F32395 外键(父 ID)引用内容 2009-08-03 11:28:49,745 错误 [org.hibernate.tool.hbm2ddl.SchemaUpdate] ORA-02275:表中已经存在这样的引用约束

【问题讨论】:

  • 您使用什么 RDBMS?你的 hibernate.hbm2ddl.auto 值的设置是什么?
  • 我使用 Oracle 11 G,我使用更新 hibernate.hbm2ddl.auto。仅供参考,即使它显示这些错误应用程序已正确部署并且工作正常。但我想修复这个错误。

标签: hibernate jboss hbm2ddl


【解决方案1】:

在我的例子中,当我将 default_schema name 添加到 Hibernate 配置文件时问题解决了:

<property name="hibernate.default_schema" value="db_default_schema_name" />

具体来说,在 Play framework 2.4 中,我将上述行添加到 conf\META-INF\persistence.xml 文件中。

使用的休眠版本:4.3.11

【讨论】:

    【解决方案2】:

    我也遇到过类似的错误,问题源于 jdbc 子系统获取元数据时的不准确。元数据回来告诉 hibernate 约束不存在,但实际上它不存在 - 可能有多种原因。我建议尝试不同的 dbms,也可能是由于当前用户和生成表的用户之间存在用户差异。您的映射也可能有问题。

    但最终解决它的唯一万无一失的方法是在启动时关闭架构同步。

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误,但通过几个简单的步骤修复了它。

      dump当前数据库Mysqldump out current.sql 将 hibernate.cfg 更改为 create 以便它重新创建数据库表 转储新数据库 Mysqldump out new.sql

      将新建表复制到当前 在 current.sql 中重新插入数据库 mysql

      【讨论】:

        【解决方案4】:

        在我的情况下,我在项目中更改了 java 包结构后出现了错误消息。我认为hibernate对此有点困惑。

        我有类似的错误(更改表...添加约束),我正在使用 Oracle DB 10g。 对我来说,最简单的解决方案是导出相关表(插入)的数据,删除它们,再次启动创建表的应用程序,然后再次导入表数据。然后 Hibernate 自己再次创建表,错误信息消失了!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-25
          • 1970-01-01
          • 2018-01-03
          • 2013-12-16
          • 2013-03-16
          • 1970-01-01
          • 2011-05-01
          相关资源
          最近更新 更多