Einführung in den Kurs
  • Zweck der Java Persistence API (JPA)
  • Über den Autor des Kurses
  • Kursprojekt
Hands On: Installation der Arbeitsumgebung
  • Überblick über die Installationen
  • Java installieren
  • Oracle Express Edition Datenbankserver installieren
  • Neuen Datenbanknutzer inklusive Schema anlegen
  • Oracle SQL Developer installieren und Funktionsprüfung durchführen
  • Alternative: MariaDB installieren
  • Alternative: Funktionsprüfung von MariaDB mit HeidiSQL
  • Eclipse installieren
  • JPA Diagram Editor installieren
  • JPA-Projekt mit Hibernate anlegen
Hands On: Daten persistieren
  • Rundgang durch die JPA Perspective
  • Model als Java-Klasse anlegen
  • Entity persistieren
  • Architektur-Quiz
Crash-Kurs SQL
  • Warum überhaupt ein SQL-Crash-Kurs?
  • Sinn und Nutzen der Structured Query Language (SQL)
  • CREATE-TABLE-Statement
  • Modifizieren und löschen von Tabellen (ALTER TABLE & DROP TABLE)
  • Fremdschlüsselbeziehungen und Krähenfußnotation (Martin-Notation)
  • SELECT-Statement
  • Hinzufügen, Modifizieren und Löschen von Tabellenzeilen (INSERT, UPDATE, DELETE)
  • Inner und Outer Joins sowie andere Join-Typen
  • GROUP BY ... HAVING ...
Hands On: SQL-Befehle mit Oracle SQL Developer absetzen
  • Tabellen löschen und anlegen
  • Tabellen modifizieren
  • Daten einfügen und löschen, SQL-Befehle absetzen
  • Fremdschlüsselbeziehungen anlegen und visualisieren
  • Inner Join und Outer Join über Person und Adress-Tabelle per SQL ausführen
  • SQL-Quiz
Finden und Ändern von Objekten mit der JPA
  • Objektlebenszyklus
  • Objekte mit JPA aus der Datenbank holen
  • Alle Objekte eines Typs erhalten
  • Objekte abändern und persistieren der Änderung
  • Objekte aktualisieren
  • Objekte löschen
  • Lösen und Mergen von Objekten
  • Bündlung der Zugriffe über ein Objekt: Das Data Access Object (DAO)
Hands On: Finden und Ändern von Objekten mit der JPA
  • Objekte in die Datenbank schreiben und wieder auslesen
  • Unterschied zwischen find() und getReference()
  • Objekte abändern und erneut persistieren
  • Objekte entfernen
  • Verschieben des Codes in das Data Access Object
  • Objekte schreiben, lesen, ändern und löschen mit der JPA
Weiterführende Themen in Bezug der Persistierung von nur einer Klasse mit JPA
  • Konvention vor Konfiguration-Prinzip
  • Generatoren für den Primärschlüssel
  • Anpassungen an die Tabelle in der Datenbank
  • @Column: Festlegung von Spaltenspezifischen Einstellungen
  • Zugriffsmodus auf die Variablen der Klasse mit @Access wählen
  • @Basic: Umkonfiguration von primitiven Variablen
  • @Transient: Ausschließen von Objekt-Variablen aus der Persistierung
  • @Temporal: Zeitliche Werte
  • @Lob (Large Object) für große Datenmengen
  • @Enumerated: Mapping von Enummerations
Hands On: Weiterentwicklung unserer Person-Klasse
  • Geburtsdatum hinzufügen
  • Enumeration für Geschlecht nutzen
  • Foto hinzufügen
  • Kommentar in benannter Spalte hinzufügen
  • Oracle Sequences für ID nutzen
  • Annotationen an einer Entity
Konfiguration und programmatischer Zugriff auf die JPA
  • Callback-Methoden
  • Listenerklassen für Datenbankoperationen
  • Hands On: Protokollierung hinzufügen
  • Zugriff auf den Zustand der JPA
  • Konfiguration über XML statt über Annotationen
Nutzen der JPA im Java EE-Kontext
  • Konfiguration der JPA im Java EE-Kontext
  • WildFly herunterladen, auspacken, starten und Benutzer anlegen
  • Datenbanktreiber deployen und anlegen der DataSource
  • WildFly in einem Eclipseprojekt konfigurieren
  • Konfigurieren der DataSource
  • Anlegen einer Enterprise Java Bean, die das DAO ersetzt
  • Bereitstellen eines Servlets zum Anlegen einer Person
  • Starten und Prüfen der Ergebnisse im Oracle SQL Developer
  • Retrospektive: Genutzte Annotationen und Hintergrundwissen
Hands On: Ein grafisches Benutzerinterface mit Java FX
  • Was ist Java FX?
  • Das JavaFX-Hauptprogramm
  • Aufbau der GUI
  • EventHandler
  • Laden der Personen aus der Datenbank
  • Synchronisation des Person-Objektes in die GUI
  • Schreiben des Person-Objektes in die Datenbank
  • Bild setzen
Beziehungen zwischen Klassen auf die Datenbank abbilden
  • Beziehungen zwischen Klassen beziehungsweise Objekten
  • Beziehungstypen: 1:1 , 1:N , N:M
  • Unidirektionale und bidirektionale Beziehungen