OR-Mapping mit Hibernate und JPA
Das Persistenzframework Hibernate hat sich in den letzten Jahren neben EclipseLink/TopLink als führende Lösung für das Objekt-Relationale Mapping (ORM) etabliert. In dieser Weiterbildung lernen die Teilnehmer, wie sich einfache Java-Objekte (POJOs) und deren Beziehungen effizient in relationale Datenbanken abbilden lassen. Das Seminar basiert auf der Beschreibung von Entity-Beans gemäß der ›Jakarta Persistence‹ (ehemals JPA), einem zentralen Bestandteil der EJB-3-Spezifikation. Dadurch können die entwickelten Geschäftsobjekte flexibel und unabhängig oder innerhalb beliebiger Jakarta-EE-Server eingesetzt werden. Die Teilnehmer erlernen den effektiven Umgang mit dem OR-Mapper durch den Einsatz standardisierter Annotationen, der Hibernate-Session-API und des EntityManagers. Ergänzend werden praxisnahe Optimierungstechniken vermittelt, etwa durch den gezielten Einsatz von Caching und Lazy Loading, um die Performance von Anwendungen weiter zu verbessern.
Inhalte des Seminars
Jakarta Persistence
- OR-Mapper (ORM), ORM versus JDBC, Entity Beans vs. Hibernate
- Impedance Mismatch
- Jakarta Persistence Spezifikation
- Annotationen
- Reverse Engineering
- Modellierung durch POJOs (plain old Java objects)
- Hibernate Eclipse Plugin, Hibernate Tools
JPA-Projekt mit Hibernate
- Entity-Klassen entwickeln
- Persistence Unit und
META-INF/persistence.xml
EntityManagerFactory
undEntityManager
find
undgetReference
createQuery
undQuery
- Persistence Context und Zustände
- (Autogenerierter) Schlüssel
persist
,merge
,remove
,flush
undrefresh
- Umgang mit Triggern
- Detached Objekte
FlushMode
EntityTransaction
Jakarta Persistence
@Entity
,@Table
- Entity in eine zweite Tabelle aufspalten:
@SecondaryTable
- Persistente Attribute/Properties,
@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
Jakarta Persistence Query Language (JPQL)
select
,from
undwhere
- 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/Jakarta 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: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹). Die Seminarteilnehmer arbeiten standardmäßig mit der aktuellen Version Hibernate ORM 6.5 und mit dem RDBMS H2.
Weiterführende Seminare
Java und XML, Jakarta Server 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 Enterprise Architektur und Design Patterns