Ich versuche ein Play zu bauen! App, die mit einer vorhandenen Datenbank ausgeführt wird, in der alle Spalten Unterstriche haben, um Wörter zu trennen. Das bedeutet, dass ich eine @Column
-Anmerkung für jedes Feld eingeben muss, um einen anderen Namen anzugeben. Gibt es sowieso um Play zu bekommen! Unterstriche standardmäßig verwenden?
Wenn Play Hibernate verwendet, wie in den anderen Antworten vorgeschlagen, müssen Sie implementieren Sie eine benutzerdefinierte NamingStrategy
.
Hier ist eine Beispiel NamingStrategy, die alle Spaltennamen von unteren Kamel in Kleinbuchstaben mit Unterstrichen konvertiert, mit Guava :
%Vor%Konfigurieren Sie es wie folgt:
fügen Sie die folgende Zeile hinzu application.conf zur Konfiguration der NamingStrategy
hibernate.ejb.naming_strategy=<your naming strategy classname>
Referenz:
NamingStrategy
(Hibernate-Referenz) NamingStrategy
(Hibernate JavaDocs) CaseFormat
(Guava JavaDoc) Die angegebene Lösung funktioniert großartig, aber wie in den Kommentaren angegeben, ImprovedNamingStrategy tut dies, so dass Guava nicht benötigt wird.
Eine verbesserte Benennungsstrategie, bei der eingebettete Unterstriche lieber gemischt sind Fallnamen
Sie können einfach hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
in Ihrem application.conf
hinzufügen (Getestet in Play! Framework 1.2.5)
Nun, wenn ich das Dokument richtig lese, verwendet das Play-Framework Hibernate als JPA-Implementierung. AFAIK, es gibt keine Möglichkeit, die Standardbenennung von Hibernate zu ändern, daher müssten Sie die Anmerkungen hinzufügen oder die Spaltennamen in der Mapping-XML-Datei angeben.
Tags und Links java jpa hibernate playframework