JPA - Java Persistence API mit Hibernate und der Oracle DB
What you'll learn
- Die Java-Objekt-Welt mit der Datenbankwelt optimal auf dem State-of-the-Art-Level zusammenbringen können.
- Objekt-Relationale-Mappings über die Java Persistence API realisieren können
- Eine effiziente und hocheffektive Programmierweise besitzen, um mit den großen Datenbeständen in Unternehmen in Java-Anwendungen umgehen zu können.
- Die Probleme des Impedance Mismatch umgehen können
- JPA-Anwendungen im Hinblick von Performancefragen bewerten und optimieren können
Requirements
- Grundlegende Java-Kenntnisse werden vorausgesetzt
Description
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.
Who this course is for:
- Softwareentwickler, die große Mengen an Daten vor allem in Webapplikationen nutzen müssen
- Interessierte, die das OR-Mapping als Brücke zwischen der Objekt- und der relationalen Welt kennen lernen wollen
- Entwickler, die in die Welt der großen und professionellen Applikationen vorstoßen wollen, um in dieser einen lukrativen Job zu erlangen.
- All diejenigen, die sich über die Effektivität ihrer Programmierung Gedanken machen.
Instructor
Find the English translation below
Du findest in mir einen Softwareentwickler mit langjähriger Erfahrung in unterschiedlichen Programmiersprachen und mit unterschiedlichen Systemen. Schon während meines Studiums der Informatik beschäftigte ich mich Websystemen im Bereich des Dokumentenmanagements in den Programmiersprachen Java und Python. Nach Abschluss meines Studiums arbeitete ich bei Fraunhofer und entwickelte großskalierbare Portale im Backend, wo unterschiedlichste komplexe Services auf Java EE-Basis geschaffen wurden. Nach einem Arbeitsplatzwechsel war ich im Frontend-Bereich unter JavaScript eingestellt und entwickelte eine Konkurrenzapplikation zu Google Maps. In meiner Freizeit habe ich mich mit PHP-Projekten beschäftigt.
I am a software developer with many years of experience in different programming languages working on different systems. During my studies of computer science, I already developed web applications on the area of document management systems using the programming languages Java and Python. After completing my studies, I worked at Fraunhofer and developed large scalable portals in the backend where various complex services were created on a Java EE basis. After a change in the workplace, I was hired in the frontend area working on JavaScript and developed a competition application to Google Maps. In my spare time, I've been working on PHP projects.