2016-04-26 14 views
1

私は、HibernateとMySQLを使用するレガシーアプリケーションを開発中です。私のDBテーブルの1つでは、重複する外部キーの制約があります。名前は次のようなものです:データベースから外部キー名を変更すると、hibernateにどのような影響がありますか?

  • FK3EBE45E8C4027E24
  • FK3EBE45E8F5ADD75E

今、私は1つのインデックスを削除し、唯一のデータベースから別の名前を変更したいです。休止状態の機能に影響はありますか?

答えて

1

Hibernateのコードに影響があってはなりません。列の追加/削除/名前の変更、データ型の変更など、テーブルの構造を変更した場合にのみ、DTOを変更する必要があるため、影響があります。 MySQLインデックスはHibernateの抽象です。 Hibernateはインデックスがあるかどうか気にしません。クエリが作成され、データベースに送信されます。

0

制約の名前を変更すると、自動スキーマの更新(作成)にのみ影響します。 Hibernateは名前で制約を削除しようとし、例外を生成しようとします。これは問題ではありません(Hibernate 5では、他のバージョンについて知らないので)、スキーマの更新は停止しません。

自動スキーマ更新を使用しない場合、問題は発生しません。