OR-Mapping mit Hibernate und JPA
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.3 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-EntwicklerEmpfohlene Dauer
3 Tage, insgesamt 18 ZeitstundenInhalte
![[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 und META-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-spezifische Annotationen
- Hibernate XML-Mapping
- Validierung
- Ausblick Hibernate 3.5 und JPA 2.0 (JSR 317)
Voraussetzungen
Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse und in der Datenbankanbindung mit Java.
Seminarunterlagen
Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat.
Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.4 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen. Die Seminarteilnehmer arbeiten mit der aktuellen Hibernate Version 3.3 auf der Beispieldatenbank HSQLDB.
Schlagwörter
Unternehmen
- JBoss
- Red Hat
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![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)