Inhalt 6 Vorwort 14 1 Einführung 16 1.1 Motivation 16 1.1.1 De-facto-Standards 16 1.1.2 Zwei Welten treffen aufeinander 17 1.1.3 OR-Mapper etablieren sich 17 1.1.4 Aktualität und praktische Relevanz 18 1.2 JPA und JPA-Provider 18 1.2.1 JPA-Provider 18 1.2.2 Lizenzen 19 1.3 Über dieses Buch 19 1.3.1 Das Buch im Netz 19 1.3.2 Zur Sprache 20 1.3.3 Der Leser 20 1.3.4 Vollständigkeit 21 1.3.5 Beispielprogramme 22 1.3.6 Al, unser Strichmännchen 22 1.3.7 Die Struktur des Buches 23 2 Grundlegendes Mapping von Objekten 26 2.1 Primärschlüssel versus Objektidentität 26 2.1.1 Sequence-Generatoren 29 2.1.2 Table-Generatoren 31 2.2 POJO-Mapping 33 2.2.1 Was ist ein POJO? 34 2.2.2 Mapping-Optionen auf Entity-Ebene 35 2.2.3 Serialisierbarkeit von Entities 36 2.2.4 Der JPA-Zugriff auf Entity-Properties 37 2.2.5 Mapping-Optionen auf Property-Ebene 38 2.2.6 Die @Column-Annotation 43 2.3 Zusammengesetzte Schlüssel 46 2.3.1 Realisierung mit @IdClass 46 2.3.2 Realisierung mit @EmbeddedId 49 2.3.3 Realisierung mit @Embeddable 51 2.4 Mehrere Tabellen für ein Entity 52 3 Objektlebenszyklus 56 3.1 Der Zustand eines Entity 56 3.2 JPA in Java-SE-Anwendungen 57 3.2.1 Speichern von Entities 58 3.2.2 Laden von Entities 60 3.2.3 Aktualisieren von Entities 62 3.2.4 Löschen von Entities 64 3.2.5 Weitere Operationen auf Entities 64 3.2.6 Konfiguration 66 3.3 JPA in Java-EE-Anwendungen 68 3.3.1 Konfiguration 69 3.3.2 Speichern und Laden von Entities 72 3.3.3 Aktualisieren und Löschen von Entities 75 3.3.4 Der erweiterte Persistenzkontext 76 3.3.5 Analyse und Zusammenfassung 77 3.4 Callback-Methoden und Entity-Listener 78 3.4.1 Callback-Methoden 79 3.4.2 Entity-Listener 80 3.4.3 Default-Listener 81 3.4.4 Callbacks und Listener zur Validierung 83 3.5 Das neue Zustands-API 84 3.6 Das Packaging von Anwendungen 86 3.6.1 Packaging von Web-Anwendungen 86 3.6.2 Allgemeines Packaging 86 3.7 Mapping-Metadaten in XML 88 4 Objekte und Beziehungen 90 4.1 Standardbeziehungen 90 1:1-Beziehungen 91 Bidirektionale 1:1-Beziehungen 96 1:n- und n:1-Beziehungen 97 Bidirektionale 1:n-Beziehungen 99 n:m-Beziehungen 105 Bidirektionale n:m-Beziehungen 108 4.2 Andere Beziehungsarten 110 4.2.1 Assoziationsklassen 110 4.2.2 Rekursive Beziehungen 114 4.2.3 Geordnete Beziehungen 115 4.2.4 Beziehungen als Abbildungen 120 4.3 Wertemengen 121 4.3.1 Wertemengen ohne JPA 122 4.3.2 Einfache Datentypen 123 4.3.3 Einbettbare Datentypen 126 4.4 Beziehungen und Performanz 131 5 Vererbung 134 5.1 Eine Tabelle für eine Vererbungshierarchie 134 5.2 Eine Tabelle je Unterklasse 140 5.3 Eine Tabelle je konkreter Klasse 142 5.4 Vergleich der Vererbungsstrategien 144 5.4.1 Eine Tabelle für eine Vererbungshierarchie 144 5.4.2 Eine Tabelle je Unterklasse 145 5.4.3 Eine Tabelle je konkreter Klasse 145 5.5 Mapping von Oberklassen 145 5.6 Kombination von Vererbungsstrategien 147 6 Transaktionen 150 6.1 Probleme des Mehrbenutzerbetriebs 151 6.2 Isolation-Level 153 6.3 Transaktionen in der JPA 154 6.3.1 Konkurrierende Zugriffe 156 6.3.2 Optimistisches Locking 158 6.3.2.1 LockModeType.OPTIMISTIC 158 6.3.2.2 LockModeType.OPTIMISTIC_FORCE_INCREMENT 161 6.3.3 Pessimistisches Locking 161 6.3.3.1 LockModeType.PESSIMISTIC_READ 162 6.3.3.2 LockModeType.PESSIMISTIC_WRITE und LockModeType.PESSIMISTIC_FORCE_INCREMENT 162 6.3.3.3 Pessimistische Locks in der Praxis 162 6.3.4 Locks für Objekte erhalten 166 6.3.5 Caching 167 6.3.6 Vor- und Nachteile des Caching 172 6.4 Konversationen 173 7 JPQL (Java Persistence Query Language) 178 7.1 JPA-Query-Interfaces 179 7.1.1 Named Queries 182 7.1.2 Parameter für Abfragen 184 7.1.3 Direkte SQL-Abfragen 185 7.2 Elemente der Java Persistence Query Language (JPQL) 189 7.3 Die From-Klausel 189 7.3.1 Implizite Joins 190 7.3.2 Inner-Joins 190 7.3.3 Left-Joins 192 7.3.4 Fetch-Joins 193 7.3.5 Joins ohne definierte Mapping-Beziehungen 194 7.4 Selektionen mit Where 194 7.4.1 Unterabfragen (Subselects) 196 7.4.2 Funktionen 197 7.5 Projektionen mit Select 199 7.5.1 Aggregationsfunktionen 200 7.5.2 Gruppieren von Daten mit Group By und Having 201 7.5.3 Ergebnisse sortieren mit Order By 202 7.5.4 Konstruktoren im Select-Statement 203 7.6 Update- und Delete-Statements 203 7.7 Flush-Modi und Abfragen 205 8 Das Criteria-API 208 8.1 Der statische Zugriff 209 8.1.1 Grundsätze der Generierung 209 8.1.2 Manuelle und automatische Generierung 210 8.2 Abfragen mit der Criteria-API 213 8.2.1 Join-Bedingungen in der Criteria-API 213 8.2.2 Einschränkung der Ergebnismenge 216 8.2.3 Selektion der Ausgabe 217 8.2.4 Unterabfragen 221 8.2.5 Gruppierungen mit Group By und Having und Sortierungen mit Order By 223 8.2.6 Benutzung von datenbankspezifischen Funktionen 224 8.2.7 Modifikation von bestehenden Abfragen 224 8.3 Der dynamische Zugriff 225 9 Bean-Validierung mit JSR 303 228 9.1 Einfache Validierungen 228 9.2 Beziehungen und eingebettete Objekte 232 9.3 Konfiguration 234 9.4 Explizite Validierung 235 9.5 Validierungsgruppen 237 9.6 Anwendungsdefinierte Validierungs-Constraints 240 9.7 Validierung mit XML 241 10 JPA-Konfiguration 244 10.1 Persistenzeinheiten 244 10.2 Mapping-Dateien und Annotationen 247 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 Element 251 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 Element255 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 Element 273 Die weiteren-Elemente 274 11 Hibernate-Erweiterungen 276 11.1 Caching 277 11.1.1 Objekt-Cache 280 11.1.2 Query-Cache 282 11.2 Instrumentation 283 11.3 Hibernate-Search 285 11.3.1 Lucene 285 11.3.2 Konfiguration in Hibernate 286 11.3.3 Hibernate-Bridges 290 11.3.4 Abfragen mit der Lucene-Syntax 293 11.4 Envers 294 11.4.1 Einfache Auditierung 294 11.4.2 Auditieren von Beziehungen 297 11.4.3 Typische Anwendungsfälle 298 11.4.4 Die Auditierungsstrategie 300 12 EclipseLink-Erweiterungen 302 12.1 Caching 302 12.1.1 Objekt-Cache 304 12.1.2 Query-Cache 307 12.2 Weaving 308 12.3 Mandantenfähigkeit 310 13 OpenJPA-Erweiterungen 314 13.1 Caching 314 13.1.1 Object-Cache 315 13.1.2 Query-Cache 317 13.2 Enhancement 319 13.3 Slice 321 13.3.1 Konfiguration 321 13.3.2 Verteilungsstrategien 322 14 Ausblick auf JPA 2.1 326 Literaturverzeichnis 330 URL-Verzeichnis 332 Stichwortverzeichnis 334
Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung 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-…
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-…
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-…
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…
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…
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…
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…
Format: PDF 3., aktualisierte Auflage. Inkl. kompletter Spiele-Engine.
DAS UMFASSENDE HANDBUCH ZUR 3D-SPIELEPROGRAMMIERUNG
- Behandelt alle wichtigen Techniken der Spieleentwicklung auf Basis von DirectX und C…
Format: PDF 3., aktualisierte Auflage. Inkl. kompletter Spiele-Engine.
DAS UMFASSENDE HANDBUCH ZUR 3D-SPIELEPROGRAMMIERUNG
- Behandelt alle wichtigen Techniken der Spieleentwicklung auf Basis von DirectX und C…
Format: PDF 3., aktualisierte Auflage. Inkl. kompletter Spiele-Engine.
DAS UMFASSENDE HANDBUCH ZUR 3D-SPIELEPROGRAMMIERUNG
- Behandelt alle wichtigen Techniken der Spieleentwicklung auf Basis von DirectX und C…
Weitere Zeitschriften "Archiv und Wirtschaft" ist die viermal jährlich erscheinende Verbandszeitschrift der Vereinigung der Wirtschaftsarchivarinnen und Wirtschaftsarchivare e. V. (VdW), in der seit 1967 rund 2.500 ...
Zielgruppe:
Niedergelassene Allgemeinmediziner, Praktiker und
Internisten.
Charakteristik:
Die Ärzte Zeitung liefert 3 x pro Woche bundesweit
an niedergelassene Mediziner ...
Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...
CE-Markt ist Pflichtlektüre in der Unterhaltungselektronik-Branche. Die Vermarktung von Home und Mobile Electronics mit den besten Verkaufsargumenten und Verkaufsstrategien gehören ebenso zum ...
Der Steuerzahler ist das monatliche Wirtschafts- und Mitgliedermagazin des Bundes der Steuerzahler und erreicht mit fast 230.000 Abonnenten einen weitesten Leserkreis von 1 ...
Die Flugzeuge der NVA
Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...
Prüfungs- und Praxiswissen für Zahnmedizinische Fachangestellte
Mehr Erfolg in der Ausbildung, sicher in alle Prüfungen gehen, im Beruf jeden Tag überzeugen: „Die Zahnmedizinische ...
Zeitschrift für alle Gesundheitsberufe
Seit über 40 Jahren sorgt die Zeitschrift Dr. med. Mabuse für einen anderen Blick auf die Gesundheits- und Sozialpolitik. Das Konzept einer Zeitschrift ...
Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt
Man kann ...
Offizielles Organ des Deutschen Verbandes Ergotherapie e.V. (DVE). ERGOTHERAPIE UND REHABILITATION stellt ein anerkanntes Fach- und Informationsmedium dar und erreicht monatlich die ...