Seminarinformationen

Seminar - Ziel

In diesem 3-tägigen Seminar "Java - Persistenz mit JPA und Hibernate / OpenJPA / Eclipselink" erfahren Sie, wie Sie auf Datenbanken zugreifen, sowohl über Java Database Connectivity (JDBC) als auch über die Java Persistence API (JPA). Der Schwerpunkt der Schulung liegt auf der Verwendung von JPA als eigenständiges Framework, ganz ohne die Notwendigkeit von EJB 3.x. Je nach Bedarf können wir uns intensiver mit einer der drei Varianten (Hibernate / OpenJPA / Eclipselink) auseinandersetzen. Durch praxisorientierte Beispiele lernen Sie die verschiedenen Konzepte und Techniken kennen, um effektiv mit der Persistenz in Java-Anwendungen zu arbeiten.

Teilnehmer - Zielgruppe

  • Java-Programmierer

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • Erfahrung in der Programmierung mit Java
  • Grundkenntnisse von Datenbanken und SQL

Seminardauer

  • 3 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Einführung in Persistenz und Architektur

  • Grundlagen relationaler Datenbanken und ORM-Konzepte
  • Architektur der Jakarta Persistence API
  • Rolle und Aufbau eines Persistence Providers
  • Überblick über Hibernate ORM
  • JPA als Standalone-Lösung (ohne Jakarta EE)

Projektsetup und Konfiguration

  • Einbindung von JPA und Hibernate
  • persistence.xml verstehen und konfigurieren
  • DataSource vs. direkte JDBC-Konfiguration
  • Dialects und Datenbankanbindung
  • Logging und SQL-Analyse

Entity-Mapping

  • @Entity, @Table, @Id, @GeneratedValue
  • Basisdatentypen und Spalten-Mapping
  • Zugriffstypen (Field vs. Property Access)
  • Lebenszyklus einer Entity
  • Transiente und persistente Objekte

Erweiterte Mapping-Konzepte

  • Beziehungen: @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
  • Bidirektionale Beziehungen
  • FetchType (EAGER vs. LAZY)
  • Cascade-Typen
  • orphanRemoval
  • Embeddables und @EmbeddedId
  • Vererbungsstrategien

EntityManager und Persistence Context

  • EntityManager-API im Detail
  • Persistence Context und Caching (1st Level Cache)
  • Zustände von Entities (new, managed, detached, removed)
  • Transaktionen (RESOURCE_LOCAL)
  • Flush- und Clear-Mechanismen

JPQL und Criteria API

  • Einführung in JPQL
  • SELECT-, UPDATE- und DELETE-Statements
  • Parameterbindung
  • Joins und Fetch Joins
  • Aggregatfunktionen
  • Named Queries
  • Criteria API Grundlagen

Performance-Optimierung

  • N+1-Problem verstehen und vermeiden
  • Fetch-Strategien gezielt einsetzen
  • Batch-Processing
  • Second-Level-Cache
  • SQL-Optimierung und Analyse

Validierung und Lifecycle-Events

  • Entity Listener
  • @PrePersist, @PostLoad etc.
  • Integration mit Bean Validation (Überblick)

Best Practices und Architektur

  • DAO- und Repository-Pattern
  • Trennung von Domain- und Persistenzmodell
  • Transaktionsgrenzen sauber definieren
  • Testen von JPA-Anwendungen
  • Typische Fehlerquellen und Debugging-Strategien

Weitere Schulungen zu Thema Java

Java SE/EE Programmierung mit Eclipse

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Das Seminar vermittelt Kenntnisse im Einsatz von Eclipse in Java SE/EE-Programmierung.

Java - XML

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Das Seminar unterrichtet Sie in den wichtigsten Technologien um XML in Verbindung mit Java. Nach einem Überblick über Grundlagen von XML werden Sie XML-basierte Anwendungen entwerfen und validieren. Sie erhalten einen Einblick in das SAX- und DOM-Parsing.

Software Testing Praxis in Java

- u.a. in Bremen, Köln, München, Essen, Kassel

In diesem 4-tägigen Seminar "Software Testing Praxis in Java" erlernen Sie praxisorientierte Prüfmethoden und die effiziente Verwaltung von Testdaten. Der Kurs vermittelt die Vorteile des testgesteuerten Entwicklungskonzepts für den täglichen Arbeitsablauf. Ein ...

Workshop: Softwarequalität für Entwickler

- u.a. in Bremen, Hamburg, München, Dresden, Düsseldorf

In diesem 3-tägigen Seminar "Workshop: Softwarequalität für Entwickler" erfahren Sie, wie Sie durch gezieltes Testen und gutes objektorientiertes Design die Qualität Ihrer Software verbessern können. Der Fokus dieses Workshops liegt auf praktischen Übungen, die Ihnen das ...