JPA 2.1 Goodies: Converter

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. https://javaeeblog.wordpress.com/2013/02/26/aktuelle-javaseminare-1-halbjahr-2013/)

 

 

Advertisements

Über Dirk Weil
Dirk Weil ist seit 1998 als Berater im Bereich Java tätig. Als Geschäftsführer der GEDOPLAN GmbH in Bielefeld ist er für die Konzeption und Realisierung von Informationssystemen auf Basis von Java EE verantwortlich. Seine langjährige Erfahrung in der Entwicklung anspruchsvoller Unternehmenslösungen machen ihn zu einem kompetenten Ansprechpartner und anerkannten Experten auf dem Gebiet Java EE. Er ist Autor in Fachmagazinen, hält Vorträge und leitet Seminare und Workshops aus einem eigenen Java-Curriculum.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: