20 Jahre Erfahrung FreeCall 0800 tutegos

OR-Mapping mit Hibernate und JPA

Das Persistenzframework Hibernate hat sich in den letzten Jahren neben EclipseLink/TopLink als Standard-Lösung für Objekt-Relationales Mapping (ORM) entwickelt. Die Weiterbildung vermittelt, wie Hibernate einfache Java-Objekte (POJOs) mit ihren Beziehungen auf Relationen abbildet. Da das Seminar auf die Beschreibung der Entity-Beans nach der ›Java Persistence API‹ (JPA) aufbaut —- ein wesentlicher Teil der EJB 3 Spezifikation —- lassen sich die modellierten Geschäftsobjekte autonom oder in einem beliebigen Java EE-Server einbringen. Zusammen mit der den standardisierten Annotationen, der Hibernate-Session API und dem EntityManager lernen die Seminarteilnehmer den OR-Mapper effektiv nutzen und Optimierungshinweise, etwa über Caching oder über Lazy-Loading, runden das Seminar ab.

Inhalte des Seminars

Java Persistence API (JPA)

  • OR-Mapper (ORM), ORM versus JDBC, Entity Beans vs. Hibernate
  • Impedance Mismatch
  • Java Persistence Spezifikation/Java Persistence API (JPA), JSR 220
  • Annotationen
  • Reverse Engineering
  • Modellierung durch POJOs (plain old Java objects)
  • Hibernate Eclipse Plugin, Hibernate Tools

JPA-Projekt mit Hibernate

  • Entity Klasse für Kunde
  • Persistence Unit und META-INF/persistence.xml
  • EntityManagerFactory und EntityManager
  • find und getReference
  • createQuery und Query
  • Persistence Context und Zustände
  • (Autogenerierter) Schlüssel
  • persist, merge, remove, flush und refresh
  • Umgang mit Triggern
  • Detached Objekte
  • FlushMode
  • EntityTransaction

JPA (Java Persistence API)

  • @Entity, @Table
  • Aufspalten in zweite Tabelle @SecondaryTable
  • Persistente Attribute/Properites, @Column
  • Datumswerte, Aufzählungen, Blob und Clob mit @Lob
  • Schlüssel, @Id, Zusammengesetzte Schlüssel, @IdClass
  • Auto-Generierter Schlüssel
  • Eingebettete Komponenten, @Embedded
  • Namend Queries annotieren
  • Assoziationen
  • 1:1, 1:n und @JoinColumn, mappedBy, n:1, n:m
  • Bidirektionale Beziehungen
  • Sortierung
  • Assoziativspeicher und @MapKey
  • CascadeType, FetchType, Lazy Loading
  • Abbildungsmöglichen der Objektorientierten Vererbung
  • @Inheritance und @MappedSuperclass

Java Persistence Query Language (JPQL)

  • select, from und where
  • Polymorphe Anfragen
  • Alias definieren
  • distinct, group, having, order
  • Aggregat-Funktionen
  • Kartesisches Produkt, Implizites/Explizites/Inner Join
  • Benannte Parameter
  • Natives SQL

Entity Listener

  • Entity-Listeners
  • Callback-Methoden
  • @PostLoad
  • @EntityListeners

Transaktionen und Locking

  • Hibernate in einer Managed Umgebung/Java EE Container
  • Schnittstellen zur Transaktionssteuerung
  • Sperrverfahren, Schatteninformationen
  • Locking und Versionsspalte mit @Version

Hibernate Performance Tuning

  • Dirty Checking Strategy
  • Hibernate Cache: First Level Cache, Second Level Cache und Caching Strategien
  • Konfiguration von EhCache
  • Logging von SQL-Anweisungen mit P6Spy
  • Massendaten einfügen
  • Stateless Session
  • Natives SQL
  • Gespeicherte Prozeduren

Best Practice und Ausblick auf aktuelle Hibernate-Entwicklungen

  • Identität und Gleichheit, Datenbank-Identität
  • Implementierung von equals/hashCode mit Business Key
  • Hibernate-spezifische Annotationen
  • Validierung
  • Hibernate Search
  • Query by Criteria (QBC), Query by Example (QBE)

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Software-Entwickler
  • Vorkenntnisse: Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse und in der Datenbankanbindung mit Java.
  • Schulungsunterlagen: Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat
  • Seminar-Software: Als Java-Version wird standardmäßig das Java 17 zusammen mit der Entwicklungsumgebung IntelliJ IDEA (Community-Edition) eingesetzt. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8. Die Seminarteilnehmer arbeiten standarmäßig mit der aktuellen Version Hibernate ORM 6.2 und mit dem RDBMS H2.

Weiterführende Seminare

Java und XML, JavaServer Pages (JSP) und Servlets, Nebenläufige Programmierung mit Threads, Oracle Certified Professional Java Programmer (OCPJP), Refactoring, Design Pattern (Entwurfsmuster) in Java, Effektiv Java programmieren, Java EE Architektur und Design Patterns

Einige Kunden
GuideCom, Bundesministerium der Finanzen, tomas/my.IRS, Sigloch Distributions, Euroimmun, GTT, Deutsche Automobil Treuhand (DAT), Mapware, KBU, T-Systems, ivv GmbH, …
Verweise

Alle Kategorien

Was Teilnehmer sagen