Java Persistence API 2
 
 

Vorwort

JPA ist in der Entwickler-Community angekommen. Nachdem die Version 1.0 als Teil von Enterprise JavaBeans 3.0 im Jahr 2006 im Rahmen von Java-EE 6 veröffentlicht wurde, begann der Projekteinsatz. Zunächst zögerlich, mittlerweile sehr verbreitet, wurde JPA als das angenommen, was es ist: ein leichtgewichtiges und einfach einzusetzendes Framework für das Mapping von Java-Objekten auf relationale Datenbanksysteme, das zudem noch als Standard von allen großen, in diesem Bereich tätigen Firmen verabschiedet ist und unterstützt wird.

Hibernate, lange Jahre der De-facto-Standard in diesem Bereich, ist vom Marktführer zu einem von mehreren JPA-Providern geworden. Hibernate und andere JPA-Provider ermöglichten aber nach wie vor Funktionalitäten, die über den 1.0-Standard hinausgingen. Zu den Zielen von JPA 2.0 gehörte daher, diese Funktionalitäten, wie etwa ein objektbasiertes Criteria-API, die automatische Validierung von Entities sowie Caching und pessimistisches Locking in JPA aufzunehmen.

Mit JPA 2.0 ist ein Standard geschaffen worden, der die oben genannten Ziele erreicht. Der Sprung in der Versionsnummer macht deutlich, dass die Erweiterungen und Neuerungen nicht kosmetischer Natur sind, sondern einen echten Mehrwert bringen. JPA ist mit der Version 2.0 auch „erwachsen” geworden: JPA 2.0 ist ein eigener Java-Specification-Request und nicht mehr Teil der EJB-Spezifikation. Der Umfang erhöhte sich von 256 auf 486 Seiten.

Die Entwicklung geht aber weiter, wenngleich in kleineren Schritten. Die Arbeiten an JPA 2.1 haben begonnen und werden voraussichtlich Ende 2012 abgeschlossen sein.

Wir beschreiben in diesem Buch JPA 2.0 und gehen auch auf Erweiterungen der Provider Hibernate, EclipseLink und OpenJPA ein. Das Buch schließt mit einen Ausblick auf JPA 2.1, der zwar nicht vollständig ist, aber zeigt, wohin die Reise geht.

März 2012, Bernd Müller und Harald Wehr