Sie sind hier
E-Book

Java Persistence API 2

Hibernate, EclipseLink, OpenJPA und Erweiterungen

AutorBernd Müller, Harald Wehr
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2012
Seitenanzahl354 Seiten
ISBN9783446431294
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis31,99 EUR
JAVA PERSISTANCE API 2 //
- Hier finden Sie eine aktuelle und fundierte Einführung in JPA.
- Sie lernen die wichtigsten Implementierungen von JPA kennen: Hibernate, EclipseLink und OpenJPA
- Mit einem Ausblick auf JPA 2.1
- Im Internet: Die Beispiele des Buches zum Herunterladen
Wer eine fundierte und praxisorientierte Einführung in die Java Persistence API 2.0 sucht, ist hier richtig. Die Autoren erklären nicht nur die zentralen Konzepte von JPA, sondern gehen auch auf fortgeschrittene Themen wie die Criteria-API und Bean-Validierung ein. Mit diesem Wissen können Sie anspruchsvolle Lösungen mit JPA umsetzen.
Darüber hinaus lernen Sie mit Hibernate, EclipseLink und OpenJPA die drei wichtigsten Implementierungen von JPA kennen. Sie erfahren, welche für die Praxis interessanten Erweiterungen des Standards diese Implementierungen anbieten und wie Sie diese konkret anwenden können.
Alle Themen werden anschaulich am Beispiel real existierender Programme aus dem Bankenbereich vorgestellt. Sie können, nein, Sie sollen diese Programme herunterladen, selbst ausprobieren und als Basis für eigene Entwicklungen verwenden.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort14
1 Einführung16
1.1 Motivation16
1.1.1 De-facto-Standards16
1.1.2 Zwei Welten treffen aufeinander17
1.1.3 OR-Mapper etablieren sich17
1.1.4 Aktualität und praktische Relevanz18
1.2 JPA und JPA-Provider18
1.2.1 JPA-Provider18
1.2.2 Lizenzen19
1.3 Über dieses Buch19
1.3.1 Das Buch im Netz19
1.3.2 Zur Sprache20
1.3.3 Der Leser20
1.3.4 Vollständigkeit21
1.3.5 Beispielprogramme22
1.3.6 Al, unser Strichmännchen22
1.3.7 Die Struktur des Buches23
2 Grundlegendes Mapping von Objekten26
2.1 Primärschlüssel versus Objektidentität26
2.1.1 Sequence-Generatoren29
2.1.2 Table-Generatoren31
2.2 POJO-Mapping33
2.2.1 Was ist ein POJO?34
2.2.2 Mapping-Optionen auf Entity-Ebene35
2.2.3 Serialisierbarkeit von Entities36
2.2.4 Der JPA-Zugriff auf Entity-Properties37
2.2.5 Mapping-Optionen auf Property-Ebene38
2.2.6 Die @Column-Annotation43
2.3 Zusammengesetzte Schlüssel46
2.3.1 Realisierung mit @IdClass46
2.3.2 Realisierung mit @EmbeddedId49
2.3.3 Realisierung mit @Embeddable51
2.4 Mehrere Tabellen für ein Entity52
3 Objektlebenszyklus56
3.1 Der Zustand eines Entity56
3.2 JPA in Java-SE-Anwendungen57
3.2.1 Speichern von Entities58
3.2.2 Laden von Entities60
3.2.3 Aktualisieren von Entities62
3.2.4 Löschen von Entities64
3.2.5 Weitere Operationen auf Entities64
3.2.6 Konfiguration66
3.3 JPA in Java-EE-Anwendungen68
3.3.1 Konfiguration69
3.3.2 Speichern und Laden von Entities72
3.3.3 Aktualisieren und Löschen von Entities75
3.3.4 Der erweiterte Persistenzkontext76
3.3.5 Analyse und Zusammenfassung77
3.4 Callback-Methoden und Entity-Listener78
3.4.1 Callback-Methoden79
3.4.2 Entity-Listener80
3.4.3 Default-Listener81
3.4.4 Callbacks und Listener zur Validierung83
3.5 Das neue Zustands-API84
3.6 Das Packaging von Anwendungen86
3.6.1 Packaging von Web-Anwendungen86
3.6.2 Allgemeines Packaging86
3.7 Mapping-Metadaten in XML88
4 Objekte und Beziehungen90
4.1 Standardbeziehungen90
1:1-Beziehungen91
Bidirektionale 1:1-Beziehungen96
1:n- und n:1-Beziehungen97
Bidirektionale 1:n-Beziehungen99
n:m-Beziehungen105
Bidirektionale n:m-Beziehungen108
4.2 Andere Beziehungsarten110
4.2.1 Assoziationsklassen110
4.2.2 Rekursive Beziehungen114
4.2.3 Geordnete Beziehungen115
4.2.4 Beziehungen als Abbildungen120
4.3 Wertemengen121
4.3.1 Wertemengen ohne JPA122
4.3.2 Einfache Datentypen123
4.3.3 Einbettbare Datentypen126
4.4 Beziehungen und Performanz131
5 Vererbung134
5.1 Eine Tabelle für eine Vererbungshierarchie134
5.2 Eine Tabelle je Unterklasse140
5.3 Eine Tabelle je konkreter Klasse142
5.4 Vergleich der Vererbungsstrategien144
5.4.1 Eine Tabelle für eine Vererbungshierarchie144
5.4.2 Eine Tabelle je Unterklasse145
5.4.3 Eine Tabelle je konkreter Klasse145
5.5 Mapping von Oberklassen145
5.6 Kombination von Vererbungsstrategien147
6 Transaktionen150
6.1 Probleme des Mehrbenutzerbetriebs151
6.2 Isolation-Level153
6.3 Transaktionen in der JPA154
6.3.1 Konkurrierende Zugriffe156
6.3.2 Optimistisches Locking158
6.3.2.1 LockModeType.OPTIMISTIC158
6.3.2.2 LockModeType.OPTIMISTIC_FORCE_INCREMENT161
6.3.3 Pessimistisches Locking161
6.3.3.1 LockModeType.PESSIMISTIC_READ162
6.3.3.2 LockModeType.PESSIMISTIC_WRITE und LockModeType.PESSIMISTIC_FORCE_INCREMENT162
6.3.3.3 Pessimistische Locks in der Praxis162
6.3.4 Locks für Objekte erhalten166
6.3.5 Caching167
6.3.6 Vor- und Nachteile des Caching172
6.4 Konversationen173
7 JPQL (Java Persistence Query Language)178
7.1 JPA-Query-Interfaces179
7.1.1 Named Queries182
7.1.2 Parameter für Abfragen184
7.1.3 Direkte SQL-Abfragen185
7.2 Elemente der Java Persistence Query Language (JPQL)189
7.3 Die From-Klausel189
7.3.1 Implizite Joins190
7.3.2 Inner-Joins190
7.3.3 Left-Joins192
7.3.4 Fetch-Joins193
7.3.5 Joins ohne definierte Mapping-Beziehungen194
7.4 Selektionen mit Where194
7.4.1 Unterabfragen (Subselects)196
7.4.2 Funktionen197
7.5 Projektionen mit Select199
7.5.1 Aggregationsfunktionen200
7.5.2 Gruppieren von Daten mit Group By und Having201
7.5.3 Ergebnisse sortieren mit Order By202
7.5.4 Konstruktoren im Select-Statement203
7.6 Update- und Delete-Statements203
7.7 Flush-Modi und Abfragen205
8 Das Criteria-API208
8.1 Der statische Zugriff209
8.1.1 Grundsätze der Generierung209
8.1.2 Manuelle und automatische Generierung210
8.2 Abfragen mit der Criteria-API213
8.2.1 Join-Bedingungen in der Criteria-API213
8.2.2 Einschränkung der Ergebnismenge216
8.2.3 Selektion der Ausgabe217
8.2.4 Unterabfragen221
8.2.5 Gruppierungen mit Group By und Having und Sortierungen mit Order By223
8.2.6 Benutzung von datenbankspezifischen Funktionen224
8.2.7 Modifikation von bestehenden Abfragen224
8.3 Der dynamische Zugriff225
9 Bean-Validierung mit JSR 303228
9.1 Einfache Validierungen228
9.2 Beziehungen und eingebettete Objekte232
9.3 Konfiguration234
9.4 Explizite Validierung235
9.5 Validierungsgruppen237
9.6 Anwendungsdefinierte Validierungs-Constraints240
9.7 Validierung mit XML241
10 JPA-Konfiguration244
10.1 Persistenzeinheiten244
10.2 Mapping-Dateien und Annotationen247
10.2.1 Das Element 248
10.2.2 Das Element 249
10.2.3 Das Element 250
10.2.4 Das Element 250
10.2.5 Das Element251
10.2.6 Das Element 252
10.2.7 Das Element 252
10.2.8 Das Element 253
10.2.9 Das Element 253
10.2.10 Das Element
255
10.2.11 Das Element 256
10.2.12 Das Element 256
10.2.13 Das Element 257
10.2.14 Das Element 257
10.2.15 Das Element 258
10.2.16 Das Element 258
10.2.17 Das Element 259
10.2.18 Das Element 260
10.2.19 Das Element 260
10.2.20 Das Element 261
10.2.21 Das Element 262
10.2.22 Das Element 263
10.2.23 Das Element 263
10.2.24 Das Element 264
10.2.25 Das Element 265
10.2.26 Das Element 265
10.2.27 Das Element 266
10.2.28 Die Elemente und 267
10.2.29 Das Element 268
10.2.30 Das Element 269
10.2.31 Das Element 270
10.2.32 Das Element 270
10.2.33 Das Element 271
10.2.34 Das Element 271
10.2.35 Das Element 272
10.2.36 Das Element 272
10.2.37 Das Element 273
10.2.38 Das Element 273
10.2.39 Das Element273
Die weiteren-Elemente274
11 Hibernate-Erweiterungen276
11.1 Caching277
11.1.1 Objekt-Cache280
11.1.2 Query-Cache282
11.2 Instrumentation283
11.3 Hibernate-Search285
11.3.1 Lucene285
11.3.2 Konfiguration in Hibernate286
11.3.3 Hibernate-Bridges290
11.3.4 Abfragen mit der Lucene-Syntax293
11.4 Envers294
11.4.1 Einfache Auditierung294
11.4.2 Auditieren von Beziehungen297
11.4.3 Typische Anwendungsfälle298
11.4.4 Die Auditierungsstrategie300
12 EclipseLink-Erweiterungen302
12.1 Caching302
12.1.1 Objekt-Cache304
12.1.2 Query-Cache307
12.2 Weaving308
12.3 Mandantenfähigkeit310
13 OpenJPA-Erweiterungen314
13.1 Caching314
13.1.1 Object-Cache315
13.1.2 Query-Cache317
13.2 Enhancement319
13.3 Slice321
13.3.1 Konfiguration321
13.3.2 Verteilungsstrategien322
14 Ausblick auf JPA 2.1326
Literaturverzeichnis330
URL-Verzeichnis332
Stichwortverzeichnis334

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...