Trim String-Feld in JPA

Ich habe eine db-Tabelle mit Spalte vom Datentyp char(20). Ich bin mir nicht erlaubt zu ändern, um eine varchar.

Schreibe ich eine JPA-Entität zugeordnet, um diese Tabelle. Ich würde gerne die string-Feld für diese Spalte in meiner entity-Klasse enthält immer den getrimmten Wert, nicht der Wert 20 Zeichen mit Leerzeichen aufgefüllt, die es in der db.

Ich sehe keine einfache Möglichkeit, dies zu tun. (eine Anmerkung würde rock!). Im moment bin ich einfach wieder eine beschnittene Wert von meinem getter(), aber das fühlt sich an wie ein Schlamassel.

Einer google-Suche bietet keine Hilfe. Irgendwelche Ideen?

Kommentare dem Thema
Nur Frage mich, was passieren würde, wenn Sie möchten, verwenden Sie @ColumnDefinition und definieren Sie die Spalte als VARCHAR auch wenn es ein CHAR. Wahrscheinlich wäre das Ergebnis das gleiche oder ein Fehler. Kommentarautor: Aleksi Yrttiaho
Die annotation @ColumnDefinition ist nur sinnvoll, wenn Sie bei der Generierung des db-Schemas. Wenn Sie nicht Geist mit reinen Hibernate und abweichend von der JPA-standard, den Sie verwenden können, Hibernate @ColumnTransformer vorausgesetzt, Sie haben eine Funktion in der Datenbank zu tun, die Arbeit, die Sie finden können, wie es in der Hibernate-Referenz: docs.jboss.org/hibernate/core/3.6/reference/en-US/html/... Kommentarautor: Edwin Dalorzo
Ich sehe nicht, was ist falsch mit Ihrem original-Lösung. Ihre aktuelle apprpoach richtig ist. Wie Sie sehen können, in den Antworten vorgeschlagen, es wird nicht einfacher als das. Die einzige bessere Lösung ist: ändern Sie das Datenbank-Feld vom Typ VARCHAR, die Sie gesagt, Sie können nicht. Kommentarautor: Edwin Dalorzo
@edalorzo wenn wir reden über ein oder zwei Eigenschaften, Stimme ich zu. Wenn dies ein Muster, das angezeigt wird, die alle über eine große code-Basis, unter Verwendung eines engagierten Hörer ist viel zuverlässiger Kommentarautor: Sean Patrick Floyd
@sean patrick floyd ja es wird erscheinen, die alle über eine große Codebasis. Kommentarautor: jcreenaune

InformationsquelleAutor der Frage jcreenaune | 2011-04-20

Schreibe einen Kommentar