2014-09-05 9 views
18

Ich habe Datenbankfelder in Unterstreichung. Ich habe Entity-Felder in Camelcase. Ich kann keines von beiden ändern.Hibernate Entity Felder Camelcase, Datenbank Unterstrich

Gibt es etwas, vielleicht eine Annotation auf Klassenebene, die ich verwenden kann, um Annotationen des Standard-Entity-Spaltennamens in das Camelcase-Äquivalent aufzunehmen?

zum Beispiel habe ich eine Entität wie folgt aus:

@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 dieses Traumes:

@Entity 
@DatabaseIsUnderscoreAndThisAnnotationConvertsThemToCamelCaseByDefault 
public class AuthorisationEntity { 

    private BigDecimal nonRecoverable; 

    private BigDecimal supplierRecoverable; 

    private BigDecimal refundAmount; 

} 
+1

Ich kann die Klasse finden '@ DatabaseIsUnderscoreAndThisAnnotationConvertsThemToCamelCaseByDefault' ... einfach Scherz, aber ich wollte das wirklich zu meinem Freund einfügen. :) –

Antwort

9

Sie können Namensstrategie verwenden Hibernate. Diese Benennungsstrategieklasse beschreibt, wie Sie Datenbanknamen für gegebene Java-Namen generieren.

See:

naming strategy example

second example

very good oracle naming strategy - es wandelt Kamel Konvention zu unterstreichen, und vieles mehr

+0

Das sieht so aus, als würde es tun, was ich brauche, netter –

Verwandte Themen