Schulung / Seminar Hibernate Professionell
Beschreibung
Die Schulung deckt weite Bereiche von Hibernate ab. Fortgeschrittene Möglichkeiten werden erläutert und dem Teilnehmer werden ausführlich Hibernates zu Grunde liegende Konzepte vermittelt. Dabei werden auch Themen wie Performance, Clustering und Caching sowie Best Practices behandelt.
Ziel ist den Teilnehmer fit zu machen, eine Hibernate basierte Anwendungen zu entwickeln, bestehende Datenbanken zu integrieren und leistungsfähige Architekturen in unterschiedlichen Umgebungen zu erstellen.
Die Schulung umfasst drei Tage und beinhaltet eine große Zahl von praktischen Übungen. Abgerundet werden die Übungen durch eine ausführliche Analyse und Optimierung einer Webanwendung.
Ihr Trainer ist Sebastian Hennebrüder.
Wie bucht man?
Werfen Sie einen Blick auf die regulären Termine oder fragen Sie nach Inhouse Schulungen
Dauer 3 Tage – 18 Stunden
Preis 1725,- EUR (netto), 2052,75 EUR ( inkl. MwSt.)
Zielgruppe
Javaentwickler und Architekten mit Hibernate Kenntnissen und Hibernate Projekterfahrung, die bestehende Kenntnis überprüfen und erweitern möchten und neue und fortgeschrittene Strategien für die Hibernateentwicklung suchen.
Bereitgestellte Unterlagen
Gebundener Druck der Folien
Buch Hibernate – Das Praxisbuch für Entwickler (Galileo Verlag, Autor Sebastian Hennebrüder)
Teilnahmezertifikat
Inhalte …
Erster Tag
1 Einführung
- Auswahl der Persistenz (Hibernate, Java Persistenz oder EJB 3)
- Was ist neu in Java Persistenz 2.0?
2 Mapping von Attributen
- Fortgeschrittene Möglichkeiten und Details
- Lazy Attribute
- Dynamische inserts und updates
- Bytecode Instrumentation
- Entities versus Value Types
- Custom Types
- Übung – Mapping von Attributen
3 Hibernate Konzepte verstehen – Status von Objekten
- Database identity versus Java identity
- Equals und hashcode
4 Mit Objekten arbeiten
- Vergleich von Java Persistenz und Hibernate
- Save, update, delete
- Reattaching mit update, merge, lock
5 Übung – Mit Objekten arbeiten
6 Reverse and Forward Engineering
- Hibernate Tools
- UML Support
7 Konfiguration
- JDBC Einstellungen
- Session- und Transaktionsverhalten
8 Beziehungen
- Übersicht über Mapping
- Überlegungen zur Performance
- Beziehungen verwenden
- Effizientes verwenden von Beziehungen – Cascading
- Übung – Beziehungen verwenden
9 Abfragen
- Aggregation mit sum, average, count, min, max
- Sortieren
- Abfragen für Berichte
- Joins
- Unterabfragen und Detached Queries
- Abfragen mit Beziehungen
- SQL Queries
- Named Queries
- Übung – Abfragen
Zweiter Tag
10 Hibernate Konzepte verstehen – Lazy loading
- Das Lazy Initialization Problem
- Eager und Lazy loading
- Das Standardverhalten anpassen
- Daten mit Abfragen initialisieren
- Strategien auswählen
- Übung – Lazy Loading
11 Vererbung
- Strategien
- Überlegungen zur Performance
- Übung – Vererbung
12 Hibernate Konzepte verstehen – Hibernate Session
13 Transaktion steuern und Exceptions behandeln
- Exceptions behandeln
- Exceptions behandeln mit AOP, EJB 3
- Exceptions behandeln in Webanwendungen (JSF, Struts 2, Stripes, Tapestry)
- Transaktionen steuern
- programmatisch
- deklarative mit AOP (Spring, Google Guice) oder EJB 3
14 Konkurrierender Zugriff
- Optimistisches Sperren
- Pessimistisches Sperren
- Übung – Optimistisches Sperren
15 Volltextsuche
- Lucene und weitere Alternativen
- Übung – Volltextsuche
16 Integration bestehender Anwendungen
- Primärschlüssel
- Fallstricke bei synthetischen Schlüsseln
- Zusammengesetzte Primärschlüssel
- Fortgeschrittene Strategien um Primärschlüsselstrategien zu lösen
- Mapping
- Vererbung
- Trigger
- Integration von Datenbankprozeduren
- Konkurrierender Zugriff
- Optimistisches Sperren auf Legacy-Datenbanken
- Übung – Legacy Integration
Dritter Tag
17 Architektur
- Integration
- Web frameworks (JSF, Struts 2, Stripes, Tapestry)
- AOP Spring, Google Guice
- EJB 3
- DAO – Data Access Objects
- Entwickeln von DAO
- Granularität – DAO pro Klasse, DAO pro Anwendungsfall, DAO pro ?
- Persistent Domain Objects
- Geschäftslogik kapseln
- Konsistenz in den Objekten garantieren
- Session Lebensdauer
- Session pro Transaktion
- Open Session In View (traditionell)
- Open Session In View 2.0
- Extended Session Strategien
- Verteilte Anwendungen
- DTOs Data Transfer Objects
- Vor- und Nachteile von Mapping
- Umgang mit Proxies
- Call by Value Strategien
18 Interceptoren und Events
- Hibernate Events
- Java Persistence Events
- Übung – Event Listener
19 Performance
- Cache
- Clustering
- Performance Strategien für unterschiedliche Anwendungsfälle
- Performanceprobleme analysieren
- Optimieren des Ladens von Objekten und Beziehungen
- Neu: Fetch Profiles zum Optimieren des Ladens von Objekten
- Übung – Performance
20 Optimieren einer Webanwendung
Praktische Übung bei der die Teilnehmer eine vorbereitete Webanwendung fertig stellen, Performanzprobleme analysieren und unterschiedliche Strategien zum Optimieren auswählen müssen. Dabei werden gelernte Best Practices und Design Pattern Schritt für Schritt angewendet.