Java Persistence with Hibernate
632 Seiten
German
PDF
4.5

Java Persistence with Hibernate

Java Persistence with Hibernate

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Java Persistence with Hibernate“ (zweite Auflage, 2015) ist ein grundlegendes Werk, verfasst vom Schöpfer von Hibernate Gavin King zusammen mit Christian Bauer und Gary Gregory. Es ist nicht nur ein Lehrbuch, sondern ein umfassendes Nachschlagewerk zur Technologie der objektrelationalen Abbildung (ORM) in der Java-Welt. Obwohl die Website PythonLib Python gewidmet ist, stellt dieses Buch einen enormen Wert für Entwickler dar, die Java lernen und das Innenleben von ORM verstehen möchten, da viele Konzepte (Caching, Lazy Loading, Mapping-Strategien) universell sind.

Worum geht es in diesem Buch

Das Buch deckt alle Aspekte der Arbeit mit Hibernate 5.x und JPA 2.1 ab. Die Autoren beginnen mit den Grundlagen: Was ist Persistenz, warum wird ORM benötigt und wie richtet man Hibernate in einem Projekt ein. Anschließend werden nacheinander behandelt:

  • Konfiguration und Sessions von Hibernate
  • Entity-Mapping (JPA-Annotationen, XML-Deskriptoren)
  • Beziehungen zwischen Tabellen (OneToOne, OneToMany, ManyToMany)
  • Abfragesprache HQL, Criteria API und native SQL-Abfragen
  • Caching der ersten und zweiten Ebene
  • Transaktionen, Verwaltung des gleichzeitigen Zugriffs und optimistisches/pessimistisches Sperren
  • Leistung: Fetch-Strategien, Batch-Verarbeitung, Abfrageprofilerstellung

Besonderes Augenmerk wird auf praktische Beispiele und Fallstricke gelegt, auf die Entwickler beim Übergang von JDBC zu ORM stoßen.

Für wen ist das Buch gedacht

Das Buch richtet sich an Java-Entwickler mittleren und fortgeschrittenen Niveaus, die bereits mit den Grundlagen der Sprache vertraut sind und Hibernate professionell erlernen möchten. Anfängern, die gerade erst mit Java beginnen, wird es schwerfallen – es werden Kenntnisse in SQL, JDBC und grundlegenden Entwurfsmustern vorausgesetzt. Für diejenigen jedoch, die bereits in Java programmieren und verstehen möchten, wie man effizient mit Datenbanken arbeitet, ist es ein unverzichtbares Handbuch.

Was der Leser lernen wird

  • Wie man Hibernate in einem Projekt einrichtet (Maven, Gradle, Konfigurationsdateien)
  • Wie man Entitäten und deren Beziehungen richtig entwirft
  • Wie man effiziente Abfragen in HQL schreibt und die Criteria API für dynamische Abfragen nutzt
  • Wie man die Leistung durch Caching und die Konfiguration von Batch-Operationen optimiert
  • Wie man Transaktionen verwaltet und Probleme mit gleichzeitigem Zugriff vermeidet
  • Wie man die Persistenzschicht mit eingebetteten Datenbanken (H2) testet
  • Wie man von veralteten Hibernate-Versionen auf moderne migriert

Stärken des Buches

Der erste und wichtigste Vorteil ist die Autorität der Autoren. Gavin King ist der Schöpfer von Hibernate, daher enthält das Buch Insiderinformationen über die Beweggründe für bestimmte Architekturentscheidungen. Der zweite Vorteil ist die Tiefe der Darstellung: Die Autoren zeigen nicht nur, wie man die API verwendet, sondern erklären auch, wie Hibernate unter der Haube funktioniert (SQL-Generierung, Entity-Zustandsverwaltung, Proxy-Objekte). Der dritte Vorteil ist die Aktualität zum Zeitpunkt der Veröffentlichung: Das Buch behandelt JPA 2.1 und Hibernate 5, was bis heute der Standard für viele Unternehmensprojekte ist. Schließlich die praktische Ausrichtung: Jeder Abschnitt wird von Codebeispielen begleitet, die sofort in einem realen Projekt angewendet werden können.

Empfehlung

Das Buch ist nützlich für:

  • Java-Entwickler, die von JDBC zu ORM wechseln
  • Architekten, die die Persistenzschicht für Enterprise-Anwendungen entwerfen
  • Entwickler, die bereits Hibernate verwenden, aber ihr Wissen vertiefen und die Leistung steigern möchten
  • Fortgeschrittene Studenten, die Java EE und Spring lernen (Hibernate wird oft in Verbindung mit Spring Data JPA verwendet)

Wenn Sie in Python programmieren, sich aber für ORM (SQLAlchemy, Django ORM) interessieren, vermittelt Ihnen dieses Buch ein Verständnis der allgemeinen Prinzipien, die auf das Python-Ökosystem übertragbar sind. Beachten Sie jedoch, dass die Beispiele ausschließlich in Java sind und für die Lektüre Kenntnisse der Java-Syntax erforderlich sind.

Empfehlungen