<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="33169" language="de" source="https://portal.flane.ch/swisscom/xml-course/ot-jpa" lastchanged="2025-08-13T08:49:35+02:00" parent="https://portal.flane.ch/swisscom/xml-courses"><title>JPA - Jakarta Persistence API</title><productcode>JPA</productcode><vendorcode>OT</vendorcode><vendorname>Other</vendorname><fullproductcode>OT-JPA</fullproductcode><version>1.0</version><essentials>&lt;p&gt;Teilnehmer sollten das Seminar &lt;span class=&quot;cms-link-marked&quot;&gt;&lt;a class=&quot;fl-href-prod&quot; href=&quot;/swisscom/course/ot-java-erw-2&quot;&gt;&lt;svg role=&quot;img&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; data-nosnippet class=&quot;cms-linkmark&quot;&gt;&lt;use xlink:href=&quot;/css/img/icnset-linkmarks.svg#linkmark&quot;&gt;&lt;/use&gt;&lt;/svg&gt;Java Erweiterungen II - Vertiefung &lt;span class=&quot;fl-prod-pcode&quot;&gt;(JAVA-ERW-2)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; erfolgreich abgeschlossen haben oder vergleichbare Kenntnisse besitzen. Optimal sind Kenntnisse in Datenbank- und Web-Programmierung.&lt;/p&gt;</essentials><audience>&lt;p&gt;Das Seminar &amp;quot;JPA - Jakarta Persistence API&amp;quot; empfiehlt sich f&amp;uuml;r Software-Ingenieure, Programmierer und Anwendungsentwickler.&lt;/p&gt;</audience><contents>&lt;h5&gt;Grundlagen:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Architektur&lt;/li&gt;&lt;li&gt;Installation und Werkzeuge&lt;/li&gt;&lt;li&gt;Abgrenzung zu anderen Technologien (JDBC, EntityBeans, JDO)&lt;/li&gt;&lt;li&gt;JPA und Hibernate&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;O/R-Mapping:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Mapping per Annotations&lt;/li&gt;&lt;li&gt;Abbildung von Spalten auf Properties&lt;/li&gt;&lt;li&gt;Abbildung von Foreign Keys auf Referenzen&lt;/li&gt;&lt;li&gt;Abbildung der Vererbung&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Transaktionen:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Ein einfaches Transaktions-Template&lt;/li&gt;&lt;li&gt;Ein kleines, Dynamic-Proxy-basiertes Transaktions-Framework&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Der Cache:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Objekt-Status&lt;/li&gt;&lt;li&gt;Struktur des first-level-Caches&lt;/li&gt;&lt;li&gt;Persistierung, Update und Delete&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Queries:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Join Fetch&lt;/li&gt;&lt;li&gt;Parameter&lt;/li&gt;&lt;li&gt;Projektionen&lt;/li&gt;&lt;li&gt;Constructor-Queries&lt;/li&gt;&lt;li&gt;Bulk-Update und -Delete&lt;/li&gt;&lt;li&gt;Native Queries&lt;/li&gt;&lt;li&gt;Criteria&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Assoziationen:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;1:1&lt;/li&gt;&lt;li&gt;1:n&lt;/li&gt;&lt;li&gt;m:n&lt;/li&gt;&lt;li&gt;Lazy-versus Eager Loading&lt;/li&gt;&lt;li&gt;Funktionsweise des Lazy Loading&lt;/li&gt;&lt;li&gt;Serialisierung von Query-Resultaten&lt;/li&gt;&lt;li&gt;Cascade&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Vererbung:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Single Table&lt;/li&gt;&lt;li&gt;Joined&lt;/li&gt;&lt;li&gt;Class Per Table&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Weitere Features:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Automatische Versionierung und Erkennen von Update-Konflikten (Optimistische Sperren)&lt;/li&gt;&lt;li&gt;Callbacks und Listeners&lt;/li&gt;&lt;li&gt;Das JPA-Metamodel&lt;/li&gt;&lt;li&gt;Benutzerdefiniertes Mapping von Spalten&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Hibernate in Web-Anwendungen:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Registrierung der EntityManagerFactory&lt;/li&gt;&lt;li&gt;EntityManager-Verwaltung (ThreadLocal, Terminierung von EntityManagern)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Hibernate im Application Server:&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Einsatz von JPA in EJB-Containern&lt;/li&gt;&lt;li&gt;Dependency Injection&lt;/li&gt;&lt;li&gt;Transaktions-Management&lt;/li&gt;&lt;/ul&gt;</contents><essentials_plain>Teilnehmer sollten das Seminar Java Erweiterungen II - Vertiefung (JAVA-ERW-2) erfolgreich abgeschlossen haben oder vergleichbare Kenntnisse besitzen. Optimal sind Kenntnisse in Datenbank- und Web-Programmierung.</essentials_plain><audience_plain>Das Seminar &quot;JPA - Jakarta Persistence API&quot; empfiehlt sich für Software-Ingenieure, Programmierer und Anwendungsentwickler.</audience_plain><contents_plain>Grundlagen:


- Architektur
- Installation und Werkzeuge
- Abgrenzung zu anderen Technologien (JDBC, EntityBeans, JDO)
- JPA und Hibernate
O/R-Mapping:


- Mapping per Annotations
- Abbildung von Spalten auf Properties
- Abbildung von Foreign Keys auf Referenzen
- Abbildung der Vererbung
Transaktionen:


- Ein einfaches Transaktions-Template
- Ein kleines, Dynamic-Proxy-basiertes Transaktions-Framework
Der Cache:


- Objekt-Status
- Struktur des first-level-Caches
- Persistierung, Update und Delete

Queries:


- Join Fetch
- Parameter
- Projektionen
- Constructor-Queries
- Bulk-Update und -Delete
- Native Queries
- Criteria

Assoziationen:


- 1:1
- 1:n
- m:n
- Lazy-versus Eager Loading
- Funktionsweise des Lazy Loading
- Serialisierung von Query-Resultaten
- Cascade
Vererbung:


- Single Table
- Joined
- Class Per Table
Weitere Features:


- Automatische Versionierung und Erkennen von Update-Konflikten (Optimistische Sperren)
- Callbacks und Listeners
- Das JPA-Metamodel
- Benutzerdefiniertes Mapping von Spalten
Hibernate in Web-Anwendungen:


- Registrierung der EntityManagerFactory
- EntityManager-Verwaltung (ThreadLocal, Terminierung von EntityManagern)
Hibernate im Application Server:


- Einsatz von JPA in EJB-Containern
- Dependency Injection
- Transaktions-Management</contents_plain><duration unit="d" days="4">4 Tage</duration><pricelist><price country="DE" currency="EUR">2190.00</price><price country="AT" currency="EUR">2190.00</price><price country="SI" currency="EUR">2190.00</price></pricelist><miles/></course>