Sie befinden sich hier: Home » Seminare » Java » HIBERNATE
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-Entwickler
Inhalte
![[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 von
equals()/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
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 Entwicklungsumgebung wird standardmäßig Java SE 6 von Sun zusammen mit Eclipse 3.2 oder Eclipse 3.3 eingesetzt. Die Seminarteilnehmer arbeiten mit der aktuellen Hibernate Version 3.3 auf der Beispieldatenbank HSQLDB.
Empfohlene Dauer
3 Tage, insgesamt 18 Zeitstunden