GEDOPLAN
Jakarta EE (Java EE)

JPA 2.1 Goodies: Converter

Jakarta EE (Java EE)

Die neue Version Java Persistence 2.1 bietet einige kleine aber feine Neuerungen, von denen ich hier zunächst mal eine kurz vorstellen möchte: Converter.

Bis JPA 2.0 musste man sich i. W. mit dem Mapping zwischen Java-Attributen und Datenbank-Spalten zufrieden geben, das auf recht niedriger Ebene, nämlich im JDBC-Standard, definiert wird. Mit den in der Version 2.1 eingeführten Konvertern kann man das Mapping nun sehr flexibel beeinflussen.

Dazu wird eine Konverterklasse benötigt, die mit ihren beiden Methoden für die Umwandlung eines Java-Atributs in einen Spaltenwert und umgekehrt sorgt. Sie muss mit @Converter annotiert sein und das Interface AttributeConverter<X,Y> implementieren. Dabei ist X der Attribut-Typ und Y der Typ des Datenbankfeldes. Das zu konvertierende Attribut wird mit @Convert annotiert und die Converter Class als Parameter angegeben:

@Converter
public class YesNoConverter
implements AttributeConverter<Boolean, String>
{
public String convertToDatabaseColumn(Boolean fieldValue) { … }
public Boolean convertToEntityAttribute(String columnValue) { … }
}

@Entity
public class Country
{

@Convert(converter = YesNoConverter.class)
private boolean expired;

Die Converter Class kann als Standard-Konverter registriert werden, indem der Annotation @Converter der Parameter autoApply=true mitgegeben wird. Ein solcher Konverter ist automatisch für alle Attribute passenden Typs aktiv.

Mehr zu Java EE in unseren Seminaren (s. http://javaeeblog.wordpress.com/2013/02/26/aktuelle-javaseminare-1-halbjahr-2013/)

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!