| |
Christian Bauer und Gavin King [2005]: Hibernate in Action Manning, Greenwich (Connecticut, USA) 408 Seiten ca. 50,- EUR (Listenpreis 44,95 US-Dollar) Hibernate ist eines der meist genutzten Persistenz-Frameworks in Java und doch gibt es bisher kein deutsches Buch hierüber1 . In dem vorliegenden englischen Buch ist der Gründer des Freien Software-Projektes Hibernate einer der beiden Autoren. Vielleicht einer der Gründe für die gute Qualität des Buches (und möglicherweise auch für den ein oder anderen theoretischen Exkurs). Das Buch ist klar gegliedert. Nach einer Einführung in die theoretischen Grundlagen des objektrelationalen Mappings, folgt ein persistentes Hello World-Beispiel, an dem bereits die Architektur des Frameworks mit seinen grundlegenden Interfaces und dem minimalen Aufbau der Mapping-Dateien erläutert wird. Dieses Grundwissen und insbesondere der Aufbau der Konfigurationsdateien des Mappings werden in den Folgekapiteln schnell, aber jederzeit verständlich ausgebaut. Auch eine ausführliche Darstellung des Lebenszyklus der Objekte in Hibernate gehört zu den grundlegenden Kapiteln. Insbesondere das Verständnis so genannter abgetrennter Objekte (detached objects) ist für die effektive Arbeit mit Hibernate wichtig und von den Autoren gut erklärt. Allenfalls die Hibernate Query Language (HQL) kommt in meinen Augen in den Grundlagenkapiteln etwas zu kurz. Auf die Grundlagen folgen die Kapitel zu fortgeschritteneren Mapping-Konzepten wie bspw. die Abbildung von Collections auf Tabellen oder der Umgang mit polymorphen Assoziationen. Wurde die HQL in den Grundlagen arg knapp behandelt, wird sie nun deutlich ausführlicher dargestellt, zusammen mit der Möglichkeit der kriteriumsbasierten Abfrage (query by criteria). Dieses Kapitel ist dadurch etwas unübersichtlich, dass verschiedene Abfragekonzepte (Joins, Gruppierung, Sortierung etc.) jeweils unmittelbar aufeinander folgend für die Hibernate Query Language und "query by criteria" erläutert werden. Beide Abfragemöglichkeiten hätte man m.E. besser getrennt dargestellt und dann aufgezeigt, wie man diese jeweilig nutzt. Ein sehr wichtiges Kapitel ist das achte Kapitel, in dem anhand eines durchgängigen Beispiels gezeigt wird, wie man die bisher gewonnenen Erkenntnisse in der Entwicklung geschichteter Anwendungen einsetzt. Dabei wird mit einem naiven Entwurf begonnen, dessen Schwächen nach und nach behoben werden. Dieses Kapitel ist ein absolutes Muss und sicherlich der Höhepunkt des Buches. Die Vorstellung einiger Tools zur Erleichterung des Entwicklungsprozesses mit Hibernate und ein paar Anhänge runden das Buch schließlich ab. An einigen wenigen Stellen ist das Buch ziemlich theoretisch, wie bspw. bei den Grundlagen des objektrelationalen Mappings oder der Beschreibung der verschiedenen Möglichkeiten, Vererbung auf relationale Strukturen zu mappen. Ob dies in dieser Tiefe notwendig ist, sei dahin gestellt, aber das Wissen um diese Theorie erleichtert der Entwicklerin die Wahl einer geeigneten Mapping-Strategie für das jeweilig zu lösende Problem. Der einzige wirklich nennenswerte Minuspunkt des Buches ist, dass es die Version 2.1 behandelt, während Hibernate inzwischen bei Version 3.1 angekommen ist. Dieser Nachteil ist indes nicht so gravierend, dass ich von dem Buch abraten würde. Das Buch legt alle wesentlichen Grundlagen, die allesamt auch noch in Hibernate 3.x gültig sind. Die Neuerungen sind nach Durcharbeiten dieses Buches schnell zu verstehen. Dennoch mag dies zusammen mit der englischen Sprache für manche evtl. ein Grund sein, auf das Buch des dpunkt-Verlages zu warten. Fazit: Dieses Buch bietet eine äußerst gelungene Darstellung von Hibernate. Sowohl die Grundlagen des Frameworks werden gründlich erläutert, als auch fortgeschrittenere Konzepte. Hibernate als Framework wird sich sicherlich auch zukünftig einer regen Nutzerinnen- und Entwicklerinnen-Gemeinde erfreuen und bietet zudem eine vollständige Umsetzung der kommenden Java-Persistenz API (inzwischen nicht mehr Bestandteil von EJB 3.0 aber noch innerhalb der gleichen Spezifikationsgruppe JSR 220 behandelt). Es lohnt sich also, sich mit Hibernate zu beschäftigen und dieses Buch ist sicher eine gute Wahl. Übrigens: Das Buch wurde von den Leserinnen des Java Developers Journal zum besten Java-Buch des Jahres 2005 gewählt - zu recht, wie ich finde. Der Preis ist allerdings etwas zu heftig für meinen Geschmack!
|