2016-04-26 12 views
1

Ich arbeite an einer Legacy-Anwendung, die Hibernate und MySQL verwendet. In einer meiner DB-Tabellen habe ich doppelte Fremdschlüsseleinschränkungen gefunden. Die Namen sind wie folgt aus:Wie wirkt sich das auf den Winterschlaf aus, wenn wir den Namen des fremden Schlüssels aus der Datenbank ändern?

  • FK3EBE45E8C4027E24
  • FK3EBE45E8F5ADD75E

Jetzt möchte ich einen Index löschen und ein anderes aus der Datenbank nur umbenennen. Wird es Auswirkungen auf die Winterschlaf-Funktionen haben?

Antwort

1

Keine

Es wird keine Auswirkungen auf die Hibernate-Code sein. Nur wenn Sie Änderungen an der Struktur der Tabelle vornehmen - eine Spalte hinzufügen/entfernen/umbenennen, den Datentyp ändern, wird sich dies auswirken, da Sie Änderungen am DTO vornehmen müssen. MySQL-Indizes sind Abstraktionen für Hibernate. Hibernate ist es egal, ob es einen Index gibt oder nicht. Es wird eine Abfrage erstellen und an die Datenbank senden.

0

Das Umbenennen einer Einschränkung wirkt sich nur auf das automatische Schema-Update (create) aus. Hibernate versucht, die Einschränkung nach Namen zu löschen und eine Ausnahme zu generieren. Es ist kein Problem (für Hibernate 5, weiß nicht über andere Versionen), ein Schema-Update wird nicht aufhören.

Wenn Sie das automatische Schema-Update nicht verwenden, haben Sie keine Probleme.

Verwandte Themen