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-Entwickler

Kursvoraussetzungen

Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse und in der Datenbankanbindung mit Java.

Seminarinhalte

[LOGO]
  • 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
    - EntityManagerFactory und EntityManager
    - find() und getReference()
    - createQuery() und Query
    - Persistence Context und Zustände
    - (Autogenerierter) Schlüssel
    - persist(), merge(), remove(), flush() und refresh()
    - 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
    - @Inheritance und @MappedSuperclass
  • Java Persistence Query Language (JPA-QL)

    - select, from und where
    - 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

[Addthis] [Google Bookmarks] [Yahoo! Bookmarks] [Delicius] [Mister Wong]

 

[Nach oben]