3

Jboss サーバーの起動中に、次のスタックトレースが表示されます。JPA が問題ないように見えるテーブルを変更しようとしている理由と、これらの ERROR メッセージを渡す方法を知りたいです。ありがとう

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] 失敗: テーブル CONTENTITEM の変更は、制約 FK692B5EEC44F32395 外部キー (parent_id) 参照 CONTENTLOCATION 2009-08-03 11:28:49,745 エラー [org .hibernate.tool.hbm2ddl.SchemaUpdate] 失敗: テーブル CONTENTITEM の変更は制約 FK692B5EEC44F32395 外部キー (parent_id) を参照 CONTENTLOCATION 2009-08-03 11:28:49,745 エラー [org.hibernate.tool.hbm2ddl.SchemaUpdate] ORA-02275:そのような参照制約はすでにテーブルに存在します

4

4 に答える 4

4

私の場合、default_schema 名を Hibernate 構成ファイルに追加すると、問題は解決しました。

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

具体的には、Play フレームワーク 2.4 で、上記の行をconf\META-INF\persistence.xmlファイルに追加しました。

使用される休止状態のバージョン: 4.3.11

于 2016-07-20T13:22:15.933 に答える
1

私の場合、プロジェクトの Java パッケージ構造を変更した後にエラー メッセージが表示されました。ハイバネートはそれについて少し混乱していたと思います。

同様のエラー (alter table ... add constraint) があり、Oracle DB 10g を使用しています。私にとって最も簡単な解決策は、関連するテーブルのデータをエクスポート (挿入) し、それらを削除し、テーブルを再度作成するアプリケーションを起動してから、テーブル データを再度インポートすることでした。次に、Hibernate が再びテーブルを自動的に作成し、エラー メッセージが表示されなくなりました。

于 2011-02-17T09:19:06.837 に答える
1

同じエラーが発生しましたが、いくつかの簡単な手順で修正しました。

現在のデータベース Mysqldump を current.sql からダンプします hibernate.cfg を create に変更して、データベース テーブルを再作成します 新しいデータベースを Mysqldump から new.sql にダンプします

create table new を現在のデータベース mysql にコピーし、current.sql に再挿入します。

于 2011-09-28T08:30:50.023 に答える
1

同様のエラーが発生しました。問題は、jdbc サブシステムによるメタ データ フェッチの不正確さが原因です。メタデータが戻ってきて、制約が存在しないことを hibernate に伝えますが、実際にはそうではありません。いくつかの理由が考えられます。別のdbmsを試してみることをお勧めします。問題は、現在のユーザーとテーブルを生成したユーザーのユーザーの違いが原因である可能性があります。また、マッピングに問題がある可能性もあります。

しかし、最終的にこれを修正する唯一の確実な方法は、起動時にスキーマの同期をオフにすることです。

于 2009-08-28T12:05:11.343 に答える