Die Java Persistence API Spezifikation zerfällt für den Anwender in drei große Bereiche: Die Mapping-Spezifikation für die Abbildung von Klassen auf Tabellen, das API für den Umgang mit persistenten Objekten und eine Abfragesprache zum zielgerichteten Laden größerer Objektmengen.
Der Spezifikationsgruppe hinter JPA ist mit der Abfragesprache ein kleines Meisterstück gelungen. Mit den erweiterten Möglichkeiten der Sub-Selektionen und Aggregat-Funktionen sieht die Sprache zwar aus wie SQL, funktioniert aber in sich streng objektorientiert.
Lesen Sie den vollständigen Artikel hier:
DatabasePro, Ausgabe 1/2009, S. 36 - 42
Errata
In diesen Artikel hat sich der Fehlerteufel eingeschlichen:
| Seite 37, linke Spalte | SELECT a FROM Ausleihung |
SELECT a FROM Ausleihung a |
| Seite 37, linke Spalte | SELECT a FROM Ausleihung |
SELECT a FROM Ausleihung a |
| Seite 41, Kasten auf der rechten Seite | EntityManager em = ...; |
Die Criteria-API wurde nach dem Artikel noch mehrmals umgestaltet. Der Final Draft von JPA 2.0 sieht diese Abfrage als korrekt an:CriteriaBuilder cb = emf.getCriteriaBuilder(); |


