Die NamingStrategy
wurde bereits in Hibernate 4.2/4.3 (HHH-7079) als veraltet markiert. Beginnend mit Hibernate 5, jetzt wird es mit zwei Ersatz (?) Schnittstellen ImplictNamingStrategy
und PhysicalNamingStrategy
(HHH-7078) ausgeliefert und haben schließlich Unterstützung für die alte NamingStrategy
verlassen. Das ist der Grund, warum Spring's bevorstehendes Hibernate5 unterstützt hat, hat sogar den Konfigurator namingStrategy()
und zugunsten von implicitNamingStrategy()
und physicalNamingStrategy()
entfernt. So weit, ist es gut.Wie man eine Hibernate NamingStrategy nach (Implicit | Physical) NamingStrategy migriert? Wo ist die Dokumentation?
Obwohl es in einigen Dokumenten (dh in der unvollständigen working-5.0-migration-guide.md) und in (generiert) Release Notes für das kommende Hibernate 5 (Stand heute) genannt wird, habe ich kein konkretes Beispiel gefunden, wie diese verwenden tatsächlich .
Vielleicht habe ich etwas verpasst, aber weder die JavaDoc noch die Probleme zeigen Anzeichen für die beiden Strategiearten. Außerdem habe ich bereits eine Strategie basierend auf NamingStrategy
: eine benutzerdefinierte OracleNamingStrategy
, die auf der well-known one basiert.
Während ich an einer richtigen Lösung in Code interessiert bin, ist das eigentliche Problem ein funktionierendes Migrationsdokument und/oder die konzeptionelle Idee der umstrukturierten Benennungsstrategie.
Auch bezogen werden:
Du hast bereits _HHH-7078_ erwähnt gibt es auch einen Link zu [HHH-9417] (https: //hibernate.atlassian .net/browse/HHH-9417) es beschreibt den Grund, warum sie die NamingStrategy aufgeteilt haben. Für die Migration muss Ihre bestehende 'OracleNamingStrategy' modifiziert werden, damit sie' PhysicalNamingStrategy' implementiert. War das deine Frage? – andih
@andih Danke. Nun, ist "PhysicalNamingStrategy" der "Nachfolger" von 'NamingStrategy'? HHH-9417 erklärt das Thema sehr kurz; Ja, es könnte hilfreich sein. Ich bin immer noch nicht überzeugt von 2-3 Zeilen in einer Ausgabe von vielen (das ist keine Dokumentation). – knalli
Ich würde es nicht Nachfolger nennen. Es hängt davon ab, was es bedeutet, eine andere Benennungsstrategie anzugeben. Wenn Sie steuern möchten, wie implizite Namen generiert werden, müssen Sie die 'ImplicitNamingStrategy' implementieren. Wenn Sie steuern möchten, wie implizite/explizite AMS physischen DB-Tabellen/Spalten zugeordnet werden, müssen Sie die 'PhysicalNamingStrategy' implementieren. Wenn Sie mehr Informationen über das Wie und Warum brauchen, müssen Sie die Dev-Mailing-Liste durchsuchen. Fühlen Sie sich frei, ihnen zu helfen, die Dokumentation zu aktualisieren - es ist ein Open-Source-Projekt. Mitwirkende sind willkommen. – andih