Wie um die Karte Hibernate entity Felder mit camelCase zu snake_case (Unterstrich) Datenbank-IDS
Ich habe die Datenbank-Felder in Unterstrich. Ich habe entitätsfelder in camelcase. Ich kann nicht ändern, entweder von denen.
Gibt es etwas, vielleicht ein class-level annotation, die ich verwenden können, um die Standard-Einheit der Spalte name Anmerkungen zu den camelcase-äquivalent?
ich habe zum Beispiel ein Unternehmen wie dieses:
@Entity
public class AuthorisationEntity {
@Column(name = "non_recoverable")
private BigDecimal nonRecoverable;
@Column(name = "supplier_recoverable")
private BigDecimal supplierRecoverable;
@Column(name = "refund_amount")
private BigDecimal refundAmount;
}
Ich diesen Traum:
@Entity
@DatabaseIsUnderscoreAndThisAnnotationConvertsThemToCamelCaseByDefault
public class AuthorisationEntity {
private BigDecimal nonRecoverable;
private BigDecimal supplierRecoverable;
private BigDecimal refundAmount;
}
- Ich kann nicht finden die Klasse
@DatabaseIsUnderscoreAndThisAnnotationConvertsThemToCamelCaseByDefault
... Nur ein Scherz, aber ich wollte wirklich fügen Sie diese auf meine Freundin. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie hibernate die Namensgebung Strategie. Eine solche Namensgebung Strategie-Klasse beschreibt die Generierung Datenbank-Namen, die für die gegebene java-Namen.
Finden Sie unter:
naming-Strategie-Beispiel
zweites Beispiel
sehr gute oracle naming-Strategie - es wandelt Kamel Unterstrich-Konvention und vieles mehr
Als ich erklärte, in dieser Artikel, können Sie erreichen dies mit einer custom-Hibernate-naming-Strategie.
Alles, was Sie tun müssen, ist die Verwendung der
hibernate-types
open-source-Projekt.Hibernate 5.2 oder später
Müssen Sie den folgenden Maven-dependency:
Und legen Sie die folgende Hibernate-configuration-Eigenschaft:
Hibernate 5.0 und 5.1
Müssen Sie den folgenden Maven-dependency:
Und legen Sie die folgende Hibernate-configuration-Eigenschaft:
Hibernate 4.3
Müssen Sie den folgenden Maven-dependency:
Und legen Sie die folgende Hibernate-configuration-Eigenschaft:
Hibernate 4.2 und 4.1
Müssen Sie den folgenden Maven-dependency:
Und legen Sie die folgende Hibernate-configuration-Eigenschaft:
Testzeit
Vorausgesetzt, Sie haben die folgenden Entitäten:
Bei der Verwendung der
CamelCaseToSnakeCaseNamingStrategy
benutzerdefiniertes Benennungs-Strategie, Hibernate geht, zu generieren, das folgende Datenbank-schema mit Hilfe derhbm2ddl
tool:Cool, richtig?
Dort gehen Sie, wählen Sie die naming-Strategie, die für Ihren Bedarf.
War ich mit dem gleichen problem in eine Spring-boot-Anwendung, die ich versucht, indem die oben Hibernate config, um den Frühling properties-Datei kein Erfolg, fügte hinzu, es als eine java-bean, wieder ohne Erfolg.
Ich bin mit Hibernate
Properties
Objekt, indem die hibernate-Konfiguration innerhalb dieser mein Problem gelöst: