Hibernate Tips

Thorben Janssens Nachschlagewerk zu Hibernate gibt geprüfte Antworten auf häufig gestellte Fragen bei der objektrelationalen Abbildung in Java-Anwendungen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Hibernate Tips

(Bild: pixabay.com)

Lesezeit: 4 Min.
Von
  • Michael Müller

Thorben Janssen
Hibernate Tips – More than 70 solutions to common Hibernate problems

thoughts-on-java.org, 2017
249 Seiten, € 12,92
ISBN 978-1-54486917-9

Nicht nur mit Java EE, sondern auch mit Java SE ist es möglich, Objekte auf Datenbanktabellen zu mappen und so einen relativ einfachen Datenzugriff zu gestalten. Normiert ist das als JPA (Java Persistence API), und Hibernate ist eine von mehreren konkreten Implementierungen. Wenn auch das Buch nicht JPA, sondern Hibernate im Titel führt, so sind die meisten der aufgeführten Lösungen direkt oder so ähnlich auf andere JPA-Implementierungen übertragbar, sodass Janssens Buch eine größere Zielgruppe anzusprechen vermag, als der Titel vermuten lässt.

Das Buch ist nicht als Lehrbuch konzipiert, das der Leser vornehmlich sequenziell liest, sondern als Katalog konkreter Tipps, die der Leser je nach Bedarf direkt ansteuern kann. Und so ist das Inhaltsverzeichnis nicht einfach schmückendes Beiwerk, sondern zentraler Navigator zum jeweiligen Tipp. Jeder Hinweis liefert die Antwort auf eine Frage "Wie ...?". Dabei sind die Fragen logisch gruppiert. Beispielsweise gibt es Gruppen beziehungsweise Kapitel zu Setup, einfachem und fortgeschrittenem Mapping, Datenzugriff via JPQL (Java Persistence Query Language), Criteria API oder nativem SQL.

Aber auch spezielle Fragestellungen wie das Mapping der neuen Java-8-Typen wie Optional, Stream und Date finden Beachtung. Nicht nur, dass diese von Hibernate ab Version 5 weitgehend direkt unterstützt werden, vielmehr erfährt der Leser auch, wie sich diese mit älteren Versionen ansprechen lassen. Insofern deckt das Buch ein breites Spektrum von Standardanwendungen ab. Janssen erläutert dabei nicht die Grundlagen von JPA – diese setzt er voraus. Jedoch setzen die einfacheren Tipps auf recht niedrigem Niveau an, sodass nicht allzu viele Vorkenntnisse zu JPA und Hibernate erforderlich sind.

Die Antworten auf mehr als 70 Fragen fallen recht direkt und knapp aus. Es wird jeweils die Lösung gezeigt, weniger erklärt. Dafür wird die jeweilige Antwort mit einem Codebeispiel hinterlegt, oftmals ergänzt um Debugging-Ausgaben, die einen tieferen Einblick hinter die Kulissen erlauben. So wird der Leser ohne viel Umstände zum Ziel geführt. Und das funktioniert nicht nur bei einfachen Aufgaben, sondern auch bei den anspruchsvolleren. Bei manchen Antworten tauchen sogleich Fragen auf, die oft an anderer Stelle im Buch beantwortet werden.

Aber es tauchen auch Fragen auf, die unbeantwortet bleiben. So erfährt der Leser beispielsweise, wie sich Daten-Objekte direkt auf Datenbankebene löschen lassen, also ohne sie vorher in den Speicher zu laden. Ergänzt wird das um den Hinweis, dass JPA/Hibernate in einem solchen Falle nicht immer erkennen, welche Datensätze gelöscht wurden, sodass sich diese noch im Cache befinden könnten. Ein wertvoller Hinweis, der Merkwürdigkeiten zu vermeiden hilft. Allerdings muss der Leser hier selbst der Frage nach der Cache-Aktualisierung auf den Grund gehen. Schön wäre auch hier eine Antwort direkt aus vorliegendem Buch zu erhalten.

Das Konzept des Buchs erfordert, dass jede Antwort für sich allein lesbar ist. Das führt naturgemäß zu vielen Wiederholungen und Redundanzen. Wer versucht, das Buch sequenziell zu lesen, wird recht schnell in die Langweilig-Falle tappen und sich eine redundanzfreie Beschreibung wünschen. Also sollte der Leser besser gar nicht den Versuch einer sequenzielle Vorgehensweise starten, sondern das Buch so nutzen, wie es gedacht ist: als Nachschlagewerk für konkrete Fragestellungen.

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.
(ane)