Hibernateスキーマの更新の問題
-
28-10-2019 - |
質問
休止状態の永続クラスに文字列フィールドを追加し、アプリケーションを再起動しました。SchemaUpgradeを開始し、次のようないくつかのエラーが発生しました: ジェネラコディセタグプレ
ただし、列はDBに追加されました。そして、すべてが正常に機能しているようです。これらのエラーを除いて、毎回飛び出し、アプリケーションを起動します。
これらのインデックスの作成を支援するにはどうすればよいですか?DBはMySQL、Hibernateバージョンは3.0です。
解決
Hibernateの問題のようには聞こえません。手動で実行しようとすると、同じ問題が発生することがわかります。MySQLのマニュアルを見ると、「errno:150」は次のことを意味していることがわかります。
削除されたテーブルを再作成する場合は、それを参照する外部キー制約に準拠する定義が必要です。前述のように、正しい列名とタイプが必要であり、参照されるキーにインデックスが必要です。これらが満たされない場合、MySQLはエラー番号1005を返し、エラーメッセージでエラー150を参照します。
http://dev.mysql。com / doc / refman / 5.5 / en / innodb-foreign-key-constraints.html
他のヒント
また、参照列と参照列の間のTABLE_COLLATIONが同じであることを確認してください...同じでない場合は、そのエラーも発生します。
私にとって、問題はすべてのテーブルEngineをInnoDBに変更することで解決されました。
手動で行う方法は次のとおりです:
所属していません StackOverflow