OR-Mapping mit Hibernate und JPA
Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
Kursziele
Das Persistenzframework Hibernate hat sich in den letzten Jahren neben Oracle TopLink als Standard-Lösung für Objekt-Relationales Mapping (ORM) entwickelt. Die Weiterbildung vermittelt, wie Hibernate 3.5 einfache Java-Objekte (POJOs) mit ihren Beziehungen auf Relationen abbildet. Da das Seminar auf die Beschreibung der Entity-Beans nach der ›Java Persistence API‹ (JPA) aufbaut – ein wesentlicher Teil der neuen EJB 3 Spezifikation – lassen sich die modellierten Geschäftsobjekte autonom oder in einem beliebigen Java EE-Server einbringen. Zusammen mit der den standardisierten Java 5 Annotationen, der Hibernate-Session API und dem EntityManager lernen die Seminarteilnehmer den OR-Mapper effektiv nutzen und Optimierungshinweise, etwa über Caching oder über Lazy-Loading, runden das Seminar ab.
Zielgruppe
Software-EntwicklerKursvoraussetzungen
Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse und in der Datenbankanbindung mit Java.Seminarinhalte
![[LOGO]](../../images/seminare/logos/hibernate.gif)
Java Persistence API (JPA)
- OR-Mapper (ORM), ORM versus JDBC, Entity Beans vs. Hibernate
- Impedance Mismatch
- Java Persistence Spezifikation/Java Persistence API (JPA), JSR 220
- Java 5 Annotationen
- Reverse Engineering
- Modellierung durch POJOs (plain old Java objects)
- Hibernate Eclipse Plugin, Hibernate Tools
JPA-Projekt mit Hibernate
- Entity Klasse für Kunde
- Persistence Unit undMETA-INF/persistence.xml
-EntityManagerFactoryundEntityManager
-find()undgetReference()
-createQuery()undQuery
- Persistence Context und Zustände
- (Autogenerierter) Schlüssel
-persist(),merge(),remove(),flush()undrefresh()
- Umgang mit Triggern
-FlushMode
-EntityTransaction
Native Hibernate-API
- Session-API/JPA-API
- Hibernate Query Language (HQL)
- Query by Criteria (QBC), Query by Example (QBE)
- Dirty Checking Strategy
- Identität und Gleichheit, Datenbank-Identität
- Implementierung vonequals()/hashCode()mit Business Key
- Detached Objekte
EJB 3 Persistence API
-@Entity,@Table
- Aufspalten in zweite Tabelle@SecondaryTable
- Persistente Attribute/Properites,@Column
- Datumswerte, Aufzählungen, Blob und Clob mit@Lob
- Schlüssel,@Id, Zusammengesetzte Schlüssel,@IdClass
- Auto-Generierter Schlüssel
- Eingebettete Komponenten,@Embedded
- Namend Queries annotieren
- Assoziationen
- 1:1, 1:n und@JoinColumn,mappedBy, n:1, n:m
- Bidirektionale Beziehungen
- Sortierung
- Assoziativspeicher und@MapKey
-CascadeType,FetchType, Lazy Loading
- Abbildungsmöglichen der Objektorientierten Vererbung
-@Inheritanceund@MappedSuperclass
Java Persistence Query Language (JPA-QL)
-select,fromundwhere
- Polymorphe Anfragen
- Alias definieren
-distinct,group,having,order
- Aggregat-Funktionen
- Kartesisches Produkt, Implizites/Explizites/Inner Join
- Benannte Parameter
- Natives SQL
Entity Listener
- Entity-Listeners
- Callback-Methoden
-@PostLoad
-@EntityListeners
Transaktionen und Locking
- Hibernate in einer Managed Umgebung/Java EE Container
- Schnittstellen zur Transaktionssteuerung
- Sperrverfahren, Schatteninformationen
- Locking und Versionsspalte mit@Version
Hibernate Performance Tuning
- Hibernate Cache: First Level Cache, Second Level Cache und Caching Strategien
- Konfiguration von EhCache
- Logging von SQL-Anweisungen mit IronTrack und P6Spy
- Massendaten einfügen
- Stateless Session
- Natives SQL
- Gespeicherte Prozeduren
Sonstiges
- Hibernate und JPA 2.0 (JSR 317)
- Hibernate-spezifische Annotationen
- Hibernate XML-Mapping
- Validierung
Schulungsunterlagen
Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat.
Eingesetze Seminar-Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.5 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen (IntelliJ IDEA, Oracle JDeveloper). Die Seminarteilnehmer arbeiten mit der aktuellen Version Hibernate 3.5 auf der Beispieldatenbank HSQLDB.
Weiterführende Seminare
- Java und XML
- JavaServer Pages (JSP) und Servlets
- Java ME: Programmierung mobiler Endgeräte
- Nebenläufige Programmierung mit Threads
- Sun Certified Java Programmer (SCJP)
- Refactoring
- Design Patterns (Entwurfsmuster) in Java
- Effektiv Java programmieren
- Java EE Architektur und Design Patterns
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.png)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)