settings
OTEX_BIG
Süddeutsche Zeitung Institut Auszeichnung
 Image
Alle Weitere Themen Schulungen

Schulung Jakarta Persistence 3.x Grundlagen

Objektrelationale Abbildung mit JPA 3.x meistern

3 Tage / S6673
Neues Seminar
Per E-Mail senden

Schulungsformen

Inhouse-/Firmenschulung

  • 3 Tage - anpassbar
  • Termin nach Wunsch
  • In Ihrem Hause oder bei der GFU
  • Preis nach Angebot

  • Lernumgebung in der Cloud
  • Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Präsenz Online Hybrid

Individualschulung

  • 3 Tage - anpassbar
  • Termin nach Wunsch
  • In Ihrem Hause oder bei der GFU
  • Preis nach Angebot

  • Lernumgebung in der Cloud
  • 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Präsenz Online Hybrid

Beschreibung

Diese  Agenda führt die Teilnehmenden systematisch in die Entwicklung von  Persistenzschichten mit Jakarta Persistence 3.x ein. Beginnend mit den  Grundlagen der objektrelationalen Abbildung und der Modellierung von  Entitäten und Beziehungen, über den Umgang mit dem EntityManager und  Transaktionsmanagement, bis hin zu komplexen Abfragen mit JPQL und  Criteria API, Performance-Optimierung durch gezieltes Ladeverhalten und  Caching, sowie der Einordnung der Neuerungen in Version 3.x. Jedes  Kapitel verbindet fundierte Konzepte mit unmittelbar anwendbaren  praktischen Übungen.
Der  Nutzen für Unternehmen liegt in der Befähigung ihrer Entwicklungsteams, robuste, wartbare und performante Datenzugriffsschichten zu implementieren. Durch das Verständnis der Entitätslebenszyklen und der Funktionsweise des Persistence Context werden typische Fehlerquellen wie verwaiste Entitäten oder unerwartete SQL-Statements vermieden. 

Schulungsziel

Die Teilnehmenden lernen die zentralen Konzepte von Jakarta Persistence 3.x kennen und verstehen die objektrelationale Abbildung mit JPA. Sie sind in der Lage, Entitätsklassen zu modellieren, Beziehungen abzubilden und grundlegende CRUD-Operationen mit dem EntityManager durchzuführen.

Details

Inhalt

  • Ziele und Erwartungen der Teilnehmenden
    • Klärung individueller Lernziele und Erwartungen für ein praxisnahes und relevantes Seminar
  • Einführung in Jakarta Persistence - Die Brücke zwischen Objekten und Tabellen
    • Von JDBC zu JPA:   Wir analysieren die Herausforderungen traditioneller JDBC-basierter  Datenbankzugriffe und verstehen, warum objektrelationales Mapping für  komplexe Anwendungen unverzichtbar ist. Vom manuellen Mapping von  ResultSets zur deklarativen Abbildung mit Annotations.
    • Kernkonzepte und Architektur:   EntityManager, Persistence Context, Entity Lifecycle und das  Zusammenspiel mit der Datenbank. Wir zeichnen die Architektur einer  JPA-basierten Persistenzschicht und klären die Rollen von Persistence  Unit, EntityManagerFactory und Transaction.
    • JPA 3.x im Jakarta-EE- und Spring-Kontext:   Die Unterschiede zwischen der Nutzung in Jakarta EE (Container-Managed  EntityManager) und in Spring Boot (Application-Managed EntityManager).  Wir geben einen Überblick über die Integration in beide Ökosysteme.
  • Entitäten modellieren - Vom Java-Objekt zur Datenbanktabelle
    • Die Entity-Klasse: Grundlegende Annotationen wie @Entity, @Id, @GeneratedValue, @Table und @Column. Wir erstellen unsere erste Entitätsklasse und verstehen die  Anforderungen an Konstruktoren, equals/hashCode und Serialisierbarkeit.
    • Primärschlüssel und ID-Generierung:   Verschiedene Strategien für die Generierung von Primärschlüsseln: AUTO, IDENTITY, SEQUENCE und TABLE. Wir analysieren die Vor- und Nachteile jeder Strategie für verschiedene Datenbanksysteme und Anwendungsfälle.
    • Datentypen und Konvertierungen: Standardmäßig unterstützte Java-Typen und ihre Abbildung auf SQL-Datentypen. Wir nutzen @Enumerated für Enums, @Temporal für Zeitstempel und @Convert für benutzerdefinierte Attributkonverter.
  • Beziehungen abbilden - Assoziationen zwischen Entitäten
    • Grundlegende Beziehungstypen: @OneToMany, @ManyToOne, @OneToOne und @ManyToMany. Wir modellieren typische Geschäftsbeziehungen wie Kunde-Bestellung, Bestellung-Position und Student-Kurs mit den passenden Annotationen.
    • Join-Spalten und Join-Tabellen: Die Steuerung der Datenbankabbildung mit @JoinColumn und @JoinTable. Wir lernen, wie JPA aus den Beziehungsannotationen die entsprechenden Fremdschlüssel- und Zwischentabellen generiert.
    • Kaskadierung und Vererbung: Automatische Weitergabe von Operationen mit cascade. Wir setzen Kaskadierung gezielt ein und modellieren Vererbungshierarchien mit @Inheritance (SINGLE_TABLE, JOINED, TABLE_PER_CLASS).
  • Der EntityManager - Zentrale Schnittstelle für Datenbankoperationen
    • Persistence Context und Lifecycle:   Wir verstehen die Zustände einer Entität: transient, managed, detached  und removed. Der EntityManager als Verwalter des Persistence Context und seine Methoden persist, merge, remove, find und refresh.
    • CRUD-Operationen implementieren:   Von der Erzeugung einer EntityManagerFactory bis zur Ausführung von  Lese- und Schreiboperationen. Wir implementieren eine DAO-Schicht mit  kontrollierten Transaktionen und sauberem Ressourcenmanagement.
    • Flush, Clear und Detach:   Feinkörnige Steuerung des Persistence Context. Wir analysieren, wann  Änderungen tatsächlich in die Datenbank geschrieben werden und wie wir  den Context zurücksetzen oder Entitäten abtrennen können.
  • Transaktionsmanagement - Konsistenz und Integrität sichern
    • ACID-Prinzipien im JPA-Kontext:   Die Bedeutung von Transaktionen für die Datenkonsistenz. Wir  unterscheiden zwischen container-managed Transaktionen in Jakarta EE und application-managed Transaktionen in Spring Boot.
    • Transaktionsgrenzen definieren: @Transactional in Spring und UserTransaction in Jakarta EE. Wir lernen, Transaktionen auf Methodenebene zu deklarieren und verstehen die Auswirkungen auf den Persistence Context.
    • Optimistic Locking und Concurrency: Umgang mit gleichzeitigen Zugriffen mit @Version. Wir implementieren optimistische Sperren, um verlorene Updates zu verhindern und konkurrierende Änderungen kontrolliert zu behandeln.
  • JPQL - Die objektorientierte Abfragesprache
    • Grundlagen von JPQL: Syntax und Struktur im Vergleich zu SQL. Wir formulieren erste Abfragen mit SELECT, FROM, WHERE und lernen den Unterschied zwischen SQL-Spalten und JPQL-Attributen.
    • Parameter, Aggregationen und Joins:   Sichere Abfragen mit benannten und positionsgebundenen Parametern. Wir  implementieren Aggregatfunktionen (COUNT, SUM, AVG) und Joins über  Entitätsbeziehungen.
    • Dynamische und benannte Abfragen: Abfragen mit createQuery zur Laufzeit erstellen oder mit @NamedQuery vordefinieren. Wir analysieren die Performance-Vorteile benannter Abfragen und setzen sie in Projekten ein.
  • Criteria API - Typisierte Abfragen zur Laufzeit
    • Von JPQL zur Criteria API: Die Metamodell-basierte, typsichere Alternative für dynamische Abfragen. Wir verstehen den Aufbau mit CriteriaBuilder, CriteriaQuery und Root.
    • Komplexe dynamische Abfragen bauen:   Schrittweise Konstruktion von Abfragen mit optionalen Filtern,  Sortierungen und Paginierung. Wir implementieren eine Suchfunktion,  deren Kriterien zur Laufzeit zusammengestellt werden.
    • Typsicherheit und Wartbarkeit:   Nutzung des statischen Metamodells für kompilierzeitliche Typprüfung.  Wir generieren das Metamodell und profitieren von IDE-Unterstützung und  refactoring-sicheren Abfragen.
  • Ladeverhalten und Performance-Optimierung
    • Eager vs. Lazy Loading:   Die Unterschiede zwischen sofortigem und verzögertem Laden von  Assoziationen. Wir analysieren die Performance-Implikationen und setzen fetch = FetchType.LAZY als Best Practice um.
    • Fetch Joins und Entity Graphs: Gezielte Steuerung des Ladeverhaltens für einzelne Abfragen. Wir nutzen Fetch Joins in JPQL und Entity Graphs mit @NamedEntityGraph, um N+1-Selekt-Probleme zu vermeiden.
    • Caching-Strategien:   First-Level-Cache (Persistence Context) und Second-Level-Cache. Wir  konfigurieren den Second-Level-Cache, verstehen seine Funktionsweise und setzen ihn für leseintensive Entitäten ein.
  • Jakarta Persistence 3.x - Neuerungen und Praxisrelevanz
    • Neuerungen gegenüber JPA 2.x:   Wir geben einen Überblick über die wichtigsten Neuerungen in Version  3.x. Von der Migration von javax.persistence zu jakarta.persistence bis  zu kleineren API-Erweiterungen.
    • Migration bestehender Projekte:   Schrittweise Umstellung von JPA 2.x auf Jakarta Persistence 3.x. Wir  analysieren die notwendigen Änderungen in Abhängigkeiten, Importen und  Konfigurationsdateien.
    • Zukunftsperspektiven und Ökosystem:   Integration mit modernen Frameworks wie Quarkus, Micronaut und Spring  Boot 3.x. Wir diskutieren die Rolle von JPA in nativen Images und  reaktiven Architekturen.
  • Praxisszenario "Bestellsystem mit Artikelverwaltung und Kundenhistorie"
    • Die  Teilnehmenden arbeiten in Zweierteams. Jedes Team erhält die Aufgabe,  eine vollständige Persistenzschicht für ein Bestellsystem zu entwickeln. Das Domänenmodell umfasst die Entitäten Kunde, Bestellung,  Bestellposition und Artikel mit den entsprechenden Beziehungen  (OneToMany, ManyToOne, ManyToMany).
    • Die  Aufgabe umfasst den vollständigen Entwicklungszyklus: Modellierung der  Entitätsklassen mit korrekten Annotationen und  Primärschlüsselstrategien, Implementierung eines Repositories mit  CRUD-Operationen unter Verwendung des EntityManagers, Umsetzung einer  komplexen Abfrage (z. B. Kunden mit Bestellungen über einem bestimmten  Wert im letzten Quartal) sowohl in JPQL als auch mit Criteria API,  Optimierung des Ladeverhaltens mit Fetch Joins zur Vermeidung von  N+1-Selekten, Einrichtung von optimistischem Locking für Bestellungen,  Konfiguration des Second-Level-Caches für leseintensive Artikel und  abschließende Validierung mit Unit-Tests unter Verwendung einer  In-Memory-Datenbank (H2).
    • Abschließend  präsentiert jedes Team seine Lösung, demonstriert die wichtigsten  Komponenten und reflektiert die Herausforderungen bei der  Beziehungsmodellierung, der Abfrageimplementierung und der  Performance-Optimierung. Die Übung wird im Plenum ausgewertet mit Fokus  auf Architekturentscheidungen, Effizienz der Abfragen und saubere  Trennung der Verantwortlichkeiten.

Java-Entwickler, Backend-Entwickler, Softwarearchitekten sowie Fachkräfte, die in Jakarta-EE- oder Spring-Boot-Projekten mit relationalen Datenbanken arbeiten und ihre Kenntnisse in der objektrelationalen Abbildung vertiefen möchten.


In Präsenz

Online
Lernmethode

Ausgewogene Mischung aus Theorie und Praxis

Wie auch bei unseren Präsenz-Seminaren: Ausgewogene Mischung aus Theorie und praktischen Übungen. Trainer durchgehend präsent.

Unterlagen

Seminarunterlagen oder Fachbuch inklusive. Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne.

Seminarunterlagen oder Fachbuch inklusive (via DHL). Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne.

Arbeitsplatz
  • PC/VMs für alle Teilnehmenden
  • Hochwertige und performante Hardware
  • Große, höhenverstellbare Bildschirme
  • Zugang zu Ihrem Firmennetz erlaubt
  • 86-90 Zoll Bildschirm für perfekte Präsentationen in jedem Schulungsraum
  • Online Meeting + Remote Zugriff auf persönlichen GFU-Schulungs-PC
  • Keine Installation auf dem eigenem PC notwendig
Lernumgebung

Neu aufgesetzte Remote-Systeme für jeden Kurs in Abstimmung mit dem Seminarleiter, sodass Sie über ein perfektes Setup für die Durchführung aller praktischen Übungen verfügen.

Arbeitsmaterialien

Din A4 Block, Notizblock, Kugelschreiber, USB-Stick, Textmarker, Post-its

Teilnahmezertifikat

Nach Abschluss des Seminars erhalten Sie das Teilnahmezertifikat inkl. Inhaltsverzeichnis per E-Mail als PDF.


In Präsenz

Online
Teilnehmendenzahl

min. 1, max. 8 Personen

Garantierte Durchführung *

Ab 1 Teilnehmenden

Schulungszeiten
3 Tage, 09:00 - 16:00 Uhr
Ort der Schulung
GFU Schulungszentrum oder Virtual Classroom
GFU Schulungszentrum
Am Grauen Stein 27
51105 Köln-Deutz

oder online im Virtual Classroom oder europaweit bei Ihnen als Inhouse-Schulung

Um ein optimales Raumklima zu gewährleisten, haben wir das Schulungszentrum mit 17 hochmodernen Trotec TAC V+ Luftreinigern ausgestattet. Diese innovative Filtertechnologie (H14 zertifiziert nach DIN EN1822) sorgt dafür, dass die Raumluft mehrfach pro Stunde umgewälzt wird und Schadstoffe zu 99.995% im HEPA-Filter abgeschieden und infektiöse Aerosole abgetötet werden.

Zusätzlich sind alle Räume mit CO2-Ampeln ausgestattet, um jederzeit eine hervorragende Luftqualität sicherzustellen.

Räumlichkeiten

Helle und modern ausgestattete Räume mit perfekter Infrastruktur

Bequem aus dem Homeoffice von überall

All-Inclusive

Frühstück, Snacks und Getränke ganztägig, Mittagessen im eigenen Restaurant, täglich 6 Menüs, auch vegetarisch

Eine Auswahl unserer Frühstücks-Snacks und Nervennahrungs-Highlights senden wir Ihnen mit den Seminarunterlagen via DHL zu.
Barrierefreiheit

Das GFU-Schulungszentrum (Am Grauen Stein 27) ist barrierefrei

-

In Präsenz

Online
  • Eigener Shuttle-Service
  • Reservierte Parkplätze
  • Hotelreservierung
  • Technik-Sofort-Support

Buchungsmöglichkeiten

Online oder in Präsenz teilnehmen

Sie können sowohl Online als auch in Präsenz am Seminar teilnehmen. Klicken Sie bei Ihrer Buchung oder Anfrage einfach die entsprechende Option an.

Inhouse-/Firmenschulung
  • Lernumgebung in der Cloud
  • Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Präsenz Online Hybrid
Individualschulung
  • Lernumgebung in der Cloud
  • 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Präsenz Online Hybrid

So haben GFU-Kunden gestimmt

Zu diesem Seminar wurden noch keine Bewertungen abgegeben.

FAQ für Inhouse Schulungen

Bei einer offenen Schulung stehen Ort und Termin vorab fest. Jeder Interessent kann eine offene Schulung buchen, daher treffen Teilnehmer aus verschiedenen Unternehmen aufeinander.

Inhouse Schulungen können auf Ihren individuellen Schulungsbedarf zugeschnitten werden. Sie bestimmen den Teilnehmerkreis, Termin und Schulungsort.

Bei einer Inhouse Schulung gehen wir auf die individuellen Bedürfnisse Ihres Unternehmens ein und decken den Schulungsbedarf direkt bei Ihnen im Unternehmen ab.

Das spart Zeit und Geld und sorgt für einen schnellen Wissenstransfer Ihrer Mitarbeiter.

Eine komplette Lernumgebung in der Cloud mit Remote Zugriff ist für uns selbstverständlich. Sie müssen sich um nichts kümmern. Lediglich ein funktionierender PC oder Notebook mit Internetanschluss sollte für jeden Teilnehmer am Schulungstag bereit stehen.

  • Kompetente Seminarberatung
  • Dozenten aus der Praxis
  • Auf Ihre Bedürfnisse zugeschnittener individueller Lernstoff
  • Sie können den Termin flexibel gestalten, so wie es für Sie am besten passt
  • Unsere Inhouse Schulungen können Europaweit durchgeführt werden
  • Der Fokus liegt auf Ihrem Schulungsbedarf, somit schonen Sie Ihr Budget
  • Wissenslücken Ihrer Mitarbeitet werden schnell geschlossen
aegallianzaxaElement 1deutsche-bankdeutsche-postlufthansamercedessonyzdf