Früher oder später muss jede Applikation Daten dauerhaft abspeichern. Man nennt diesen Vorgang "Persistieren". Sehr gerne wird dies durch die Nutzung von Datenbanken getan. Geht man für das Schreiben und Lesen von Daten den manuellen Weg, so sind SQL-Statements zu formulieren, die die Daten zwischen der Datenbank und der Objektwelt händisch synchronisieren. Ein solcher Code kann bei komplexeren Systemen sehr aufwändig werden.
Gerade an dieser Stelle schafft die Java Persistence API (JPA) für Abhilfe. Sie bietet die Möglichkeit an, Java-Objekte automatisch über einen Aufruf ohne das manuelle Schreiben von SQL-Statements in die Datenbank zu mappen, um sie dorthin zu schreiben und auch wieder zu lesen.
Dieser Kurs stellt die Nutzung der Java Persistence API (JPA) vor und versetzt den Teilnehmer in die Lage, diese API effektiv für seine Projekte einzusetzen. Es lauern nämlich diverse Herausforderungen auf den Entwickler, sowohl wenn er manuell vorgeht, wie auch wenn er mit Hilfe der Java Persistence API vorgeht:
- Datenbanken existieren häufig weitaus länger als die Java-Software existiert, die auf diese zugreift. Datenbanken beinhalten das Lebenselixier eines Unternehmens und sind historisch gewachsen. Deshalb muss sich die Java-Anwendung meist an das Datenbankschema anpassen, statt dass das Datenbankschema an die Java-Anwendung angepasst werden kann. Die Java Persistence API (JPA) verfügt hier über eine große Anzahl an Möglichkeiten, die Default-Konfiguration des Objekt-Relationalen Mappings (O/R-Mapping) zu überschreiben und sich an das Datenbankschema anzupassen. Dies ist Thema des Kurses.
- Relationen in der objektorientierten Welt sind sehr einfach und schnell navigierbar. Dies ist in der Datenbankwelt anders, wo sie häufig noch nachgeladen werden müssen. Der Kurs zeigt, wie die Java Persistence API (JPA) genutzt werden kann, um hier performante Lösungen zu bieten.
- Innerhalb von Vererbungshierachien existiert zwischen der objektorientierten Welt und der Datenbankwelt eine Unverträglichkeit im Objekt-Relationalen Mapping, die sich auch Impedance Mismatch nennt. Auch die Überwindung dieses Impedance Mismatch ist Thema dieses Kurses.
Der Kurs richtet sich an den Einsteiger in die Java Persistence API (JPA). Allerdings führt er auch in komplexe Themengebiete ein, so dass der Teilnehmer zum Experten wird. Java-Kenntnisse werden für diesen Kurs vorausgesetzt.
Der Kurs fokussiert sich nicht allein auf die Theorie, sondern hält eine Balance zwischen den theoretischen Grundlagen und der praktischen Anwendung. Auf der praktischen Seite kommt Eclipse als Entwicklungsumgebung und Hibernate als JPA-Implementierung zum Einsatz. Die Daten werden in einer Oracle Express Datenbank gespeichert, welche eine speicherlimitierte Version zur großen Oracle-Datenbank darstellt.