
Java Persistence API 2
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Content
2 - Vorwort [Seite 14]
3 - 1 Einführung [Seite 16]
3.1 - 1.1 Motivation [Seite 16]
3.1.1 - 1.1.1 De-facto-Standards [Seite 16]
3.1.2 - 1.1.2 Zwei Welten treffen aufeinander [Seite 17]
3.1.3 - 1.1.3 OR-Mapper etablieren sich [Seite 17]
3.1.4 - 1.1.4 Aktualität und praktische Relevanz [Seite 18]
3.2 - 1.2 JPA und JPA-Provider [Seite 18]
3.2.1 - 1.2.1 JPA-Provider [Seite 18]
3.2.2 - 1.2.2 Lizenzen [Seite 19]
3.3 - 1.3 Über dieses Buch [Seite 19]
3.3.1 - 1.3.1 Das Buch im Netz [Seite 19]
3.3.2 - 1.3.2 Zur Sprache [Seite 20]
3.3.3 - 1.3.3 Der Leser [Seite 20]
3.3.4 - 1.3.4 Vollständigkeit [Seite 21]
3.3.5 - 1.3.5 Beispielprogramme [Seite 22]
3.3.6 - 1.3.6 Al, unser Strichmännchen [Seite 22]
3.3.7 - 1.3.7 Die Struktur des Buches [Seite 23]
4 - 2 Grundlegendes Mapping von Objekten [Seite 26]
4.1 - 2.1 Primärschlüssel versus Objektidentität [Seite 26]
4.1.1 - 2.1.1 Sequence-Generatoren [Seite 29]
4.1.2 - 2.1.2 Table-Generatoren [Seite 31]
4.2 - 2.2 POJO-Mapping [Seite 33]
4.2.1 - 2.2.1 Was ist ein POJO? [Seite 34]
4.2.2 - 2.2.2 Mapping-Optionen auf Entity-Ebene [Seite 35]
4.2.3 - 2.2.3 Serialisierbarkeit von Entities [Seite 36]
4.2.4 - 2.2.4 Der JPA-Zugriff auf Entity-Properties [Seite 37]
4.2.5 - 2.2.5 Mapping-Optionen auf Property-Ebene [Seite 38]
4.2.6 - 2.2.6 Die @Column-Annotation [Seite 43]
4.3 - 2.3 Zusammengesetzte Schlüssel [Seite 46]
4.3.1 - 2.3.1 Realisierung mit @IdClass [Seite 46]
4.3.2 - 2.3.2 Realisierung mit @EmbeddedId [Seite 49]
4.3.3 - 2.3.3 Realisierung mit @Embeddable [Seite 51]
4.4 - 2.4 Mehrere Tabellen für ein Entity [Seite 52]
5 - 3 Objektlebenszyklus [Seite 56]
5.1 - 3.1 Der Zustand eines Entity [Seite 56]
5.2 - 3.2 JPA in Java-SE-Anwendungen [Seite 57]
5.2.1 - 3.2.1 Speichern von Entities [Seite 58]
5.2.2 - 3.2.2 Laden von Entities [Seite 60]
5.2.3 - 3.2.3 Aktualisieren von Entities [Seite 62]
5.2.4 - 3.2.4 Löschen von Entities [Seite 64]
5.2.5 - 3.2.5 Weitere Operationen auf Entities [Seite 64]
5.2.6 - 3.2.6 Konfiguration [Seite 66]
5.3 - 3.3 JPA in Java-EE-Anwendungen [Seite 68]
5.3.1 - 3.3.1 Konfiguration [Seite 69]
5.3.2 - 3.3.2 Speichern und Laden von Entities [Seite 72]
5.3.3 - 3.3.3 Aktualisieren und Löschen von Entities [Seite 75]
5.3.4 - 3.3.4 Der erweiterte Persistenzkontext [Seite 76]
5.3.5 - 3.3.5 Analyse und Zusammenfassung [Seite 77]
5.4 - 3.4 Callback-Methoden und Entity-Listener [Seite 78]
5.4.1 - 3.4.1 Callback-Methoden [Seite 79]
5.4.2 - 3.4.2 Entity-Listener [Seite 80]
5.4.3 - 3.4.3 Default-Listener [Seite 81]
5.4.4 - 3.4.4 Callbacks und Listener zur Validierung [Seite 83]
5.5 - 3.5 Das neue Zustands-API [Seite 84]
5.6 - 3.6 Das Packaging von Anwendungen [Seite 86]
5.6.1 - 3.6.1 Packaging von Web-Anwendungen [Seite 86]
5.6.2 - 3.6.2 Allgemeines Packaging [Seite 86]
5.7 - 3.7 Mapping-Metadaten in XML [Seite 88]
6 - 4 Objekte und Beziehungen [Seite 90]
6.1 - 4.1 Standardbeziehungen [Seite 90]
6.1.1 - 1:1-Beziehungen [Seite 91]
6.1.1.1 - Bidirektionale 1:1-Beziehungen [Seite 96]
6.1.2 - 1:n- und n:1-Beziehungen [Seite 97]
6.1.2.1 - Bidirektionale 1:n-Beziehungen [Seite 99]
6.1.3 - n:m-Beziehungen [Seite 105]
6.1.3.1 - Bidirektionale n:m-Beziehungen [Seite 108]
6.2 - 4.2 Andere Beziehungsarten [Seite 110]
6.2.1 - 4.2.1 Assoziationsklassen [Seite 110]
6.2.2 - 4.2.2 Rekursive Beziehungen [Seite 114]
6.2.3 - 4.2.3 Geordnete Beziehungen [Seite 115]
6.2.4 - 4.2.4 Beziehungen als Abbildungen [Seite 120]
6.3 - 4.3 Wertemengen [Seite 121]
6.3.1 - 4.3.1 Wertemengen ohne JPA [Seite 122]
6.3.2 - 4.3.2 Einfache Datentypen [Seite 123]
6.3.3 - 4.3.3 Einbettbare Datentypen [Seite 126]
6.4 - 4.4 Beziehungen und Performanz [Seite 131]
7 - 5 Vererbung [Seite 134]
7.1 - 5.1 Eine Tabelle für eine Vererbungshierarchie [Seite 134]
7.2 - 5.2 Eine Tabelle je Unterklasse [Seite 140]
7.3 - 5.3 Eine Tabelle je konkreter Klasse [Seite 142]
7.4 - 5.4 Vergleich der Vererbungsstrategien [Seite 144]
7.4.1 - 5.4.1 Eine Tabelle für eine Vererbungshierarchie [Seite 144]
7.4.2 - 5.4.2 Eine Tabelle je Unterklasse [Seite 145]
7.4.3 - 5.4.3 Eine Tabelle je konkreter Klasse [Seite 145]
7.5 - 5.5 Mapping von Oberklassen [Seite 145]
7.6 - 5.6 Kombination von Vererbungsstrategien [Seite 147]
8 - 6 Transaktionen [Seite 150]
8.1 - 6.1 Probleme des Mehrbenutzerbetriebs [Seite 151]
8.2 - 6.2 Isolation-Level [Seite 153]
8.3 - 6.3 Transaktionen in der JPA [Seite 154]
8.3.1 - 6.3.1 Konkurrierende Zugriffe [Seite 156]
8.3.2 - 6.3.2 Optimistisches Locking [Seite 158]
8.3.2.1 - 6.3.2.1 LockModeType.OPTIMISTIC [Seite 158]
8.3.2.2 - 6.3.2.2 LockModeType.OPTIMISTIC_FORCE_INCREMENT [Seite 161]
8.3.3 - 6.3.3 Pessimistisches Locking [Seite 161]
8.3.3.1 - 6.3.3.1 LockModeType.PESSIMISTIC_READ [Seite 162]
8.3.3.2 - 6.3.3.2 LockModeType.PESSIMISTIC_WRITE und LockModeType.PESSIMISTIC_FORCE_INCREMENT [Seite 162]
8.3.3.3 - 6.3.3.3 Pessimistische Locks in der Praxis [Seite 162]
8.3.4 - 6.3.4 Locks für Objekte erhalten [Seite 166]
8.3.5 - 6.3.5 Caching [Seite 167]
8.3.6 - 6.3.6 Vor- und Nachteile des Caching [Seite 172]
8.4 - 6.4 Konversationen [Seite 173]
9 - 7 JPQL (Java Persistence Query Language) [Seite 178]
9.1 - 7.1 JPA-Query-Interfaces [Seite 179]
9.1.1 - 7.1.1 Named Queries [Seite 182]
9.1.2 - 7.1.2 Parameter für Abfragen [Seite 184]
9.1.3 - 7.1.3 Direkte SQL-Abfragen [Seite 185]
9.2 - 7.2 Elemente der Java Persistence Query Language (JPQL) [Seite 189]
9.3 - 7.3 Die From-Klausel [Seite 189]
9.3.1 - 7.3.1 Implizite Joins [Seite 190]
9.3.2 - 7.3.2 Inner-Joins [Seite 190]
9.3.3 - 7.3.3 Left-Joins [Seite 192]
9.3.4 - 7.3.4 Fetch-Joins [Seite 193]
9.3.5 - 7.3.5 Joins ohne definierte Mapping-Beziehungen [Seite 194]
9.4 - 7.4 Selektionen mit Where [Seite 194]
9.4.1 - 7.4.1 Unterabfragen (Subselects) [Seite 196]
9.4.2 - 7.4.2 Funktionen [Seite 197]
9.5 - 7.5 Projektionen mit Select [Seite 199]
9.5.1 - 7.5.1 Aggregationsfunktionen [Seite 200]
9.5.2 - 7.5.2 Gruppieren von Daten mit Group By und Having [Seite 201]
9.5.3 - 7.5.3 Ergebnisse sortieren mit Order By [Seite 202]
9.5.4 - 7.5.4 Konstruktoren im Select-Statement [Seite 203]
9.6 - 7.6 Update- und Delete-Statements [Seite 203]
9.7 - 7.7 Flush-Modi und Abfragen [Seite 205]
10 - 8 Das Criteria-API [Seite 208]
10.1 - 8.1 Der statische Zugriff [Seite 209]
10.1.1 - 8.1.1 Grundsätze der Generierung [Seite 209]
10.1.2 - 8.1.2 Manuelle und automatische Generierung [Seite 210]
10.2 - 8.2 Abfragen mit der Criteria-API [Seite 213]
10.2.1 - 8.2.1 Join-Bedingungen in der Criteria-API [Seite 213]
10.2.2 - 8.2.2 Einschränkung der Ergebnismenge [Seite 216]
10.2.3 - 8.2.3 Selektion der Ausgabe [Seite 217]
10.2.4 - 8.2.4 Unterabfragen [Seite 221]
10.2.5 - 8.2.5 Gruppierungen mit Group By und Having und Sortierungen mit Order By [Seite 223]
10.2.6 - 8.2.6 Benutzung von datenbankspezifischen Funktionen [Seite 224]
10.2.7 - 8.2.7 Modifikation von bestehenden Abfragen [Seite 224]
10.3 - 8.3 Der dynamische Zugriff [Seite 225]
11 - 9 Bean-Validierung mit JSR 303 [Seite 228]
11.1 - 9.1 Einfache Validierungen [Seite 228]
11.2 - 9.2 Beziehungen und eingebettete Objekte [Seite 232]
11.3 - 9.3 Konfiguration [Seite 234]
11.4 - 9.4 Explizite Validierung [Seite 235]
11.5 - 9.5 Validierungsgruppen [Seite 237]
11.6 - 9.6 Anwendungsdefinierte Validierungs-Constraints [Seite 240]
11.7 - 9.7 Validierung mit XML [Seite 241]
12 - 10 JPA-Konfiguration [Seite 244]
12.1 - 10.1 Persistenzeinheiten [Seite 244]
12.2 - 10.2 Mapping-Dateien und Annotationen [Seite 247]
12.2.1 - 10.2.1 Das Element
12.2.2 - 10.2.2 Das Element
12.2.3 - 10.2.3 Das Element
12.2.4 - 10.2.4 Das Element
12.2.5 - 10.2.5 Das Element
12.2.6 - 10.2.6 Das Element
12.2.7 - 10.2.7 Das Element
12.2.8 - 10.2.8 Das Element
12.2.9 - 10.2.9 Das Element
12.2.10 - 10.2.10 Das Element [Seite 255]
12.2.11 - 10.2.11 Das Element
12.2.12 - 10.2.12 Das Element
12.2.13 - 10.2.13 Das Element
12.2.14 - 10.2.14 Das Element
12.2.15 - 10.2.15 Das Element
12.2.16 - 10.2.16 Das Element
12.2.17 - 10.2.17 Das Element
12.2.18 - 10.2.18 Das Element
12.2.19 - 10.2.19 Das Element
12.2.20 - 10.2.20 Das Element
12.2.21 - 10.2.21 Das Element
12.2.22 - 10.2.22 Das Element
12.2.23 - 10.2.23 Das Element
12.2.24 - 10.2.24 Das Element
12.2.25 - 10.2.25 Das Element
12.2.26 - 10.2.26 Das Element
12.2.27 - 10.2.27 Das Element
12.2.28 - 10.2.28 Die Elemente
12.2.29 - 10.2.29 Das Element
12.2.30 - 10.2.30 Das Element
12.2.31 - 10.2.31 Das Element
12.2.32 - 10.2.32 Das Element
12.2.33 - 10.2.33 Das Element
12.2.34 - 10.2.34 Das Element
12.2.35 - 10.2.35 Das Element
12.2.36 - 10.2.36 Das Element
12.2.37 - 10.2.37 Das Element
12.2.38 - 10.2.38 Das Element
12.2.39 - 10.2.39 Das Element
12.2.40 - Die weiteren
13 - 11 Hibernate-Erweiterungen [Seite 276]
13.1 - 11.1 Caching [Seite 277]
13.1.1 - 11.1.1 Objekt-Cache [Seite 280]
13.1.2 - 11.1.2 Query-Cache [Seite 282]
13.2 - 11.2 Instrumentation [Seite 283]
13.3 - 11.3 Hibernate-Search [Seite 285]
13.3.1 - 11.3.1 Lucene [Seite 285]
13.3.2 - 11.3.2 Konfiguration in Hibernate [Seite 286]
13.3.3 - 11.3.3 Hibernate-Bridges [Seite 290]
13.3.4 - 11.3.4 Abfragen mit der Lucene-Syntax [Seite 293]
13.4 - 11.4 Envers [Seite 294]
13.4.1 - 11.4.1 Einfache Auditierung [Seite 294]
13.4.2 - 11.4.2 Auditieren von Beziehungen [Seite 297]
13.4.3 - 11.4.3 Typische Anwendungsfälle [Seite 298]
13.4.4 - 11.4.4 Die Auditierungsstrategie [Seite 300]
14 - 12 EclipseLink-Erweiterungen [Seite 302]
14.1 - 12.1 Caching [Seite 302]
14.1.1 - 12.1.1 Objekt-Cache [Seite 304]
14.1.2 - 12.1.2 Query-Cache [Seite 307]
14.2 - 12.2 Weaving [Seite 308]
14.3 - 12.3 Mandantenfähigkeit [Seite 310]
15 - 13 OpenJPA-Erweiterungen [Seite 314]
15.1 - 13.1 Caching [Seite 314]
15.1.1 - 13.1.1 Object-Cache [Seite 315]
15.1.2 - 13.1.2 Query-Cache [Seite 317]
15.2 - 13.2 Enhancement [Seite 319]
15.3 - 13.3 Slice [Seite 321]
15.3.1 - 13.3.1 Konfiguration [Seite 321]
15.3.2 - 13.3.2 Verteilungsstrategien [Seite 322]
16 - 14 Ausblick auf JPA 2.1 [Seite 326]
17 - Literaturverzeichnis [Seite 330]
18 - URL-Verzeichnis [Seite 332]
19 - Stichwortverzeichnis [Seite 334]
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.