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 ...
Vom Deutschen Patent- und Markenamt erteilte Patente. Bibliographie, Patentanspruch, wichtigste Zeichnung.
Thomson Reuters is the world’s leading source of intelligent information for businesses ...
Beiträge zur Namenforschung. Neue Folge ist eine internationale fachübergreifende Zeitschrift für Namenforschung. In den Artikeln werden Probleme der Ortsnamen- wie Personenamenforschung und der ...
Informationsdienst für die Spielwarenbranche
Seit 1980 ist der „BRANCHENBRIEF INTERNATIONAL - Spielzeugbranche aktuell" der Informationsdienst der Spielwarenbranche, bekannt unter dem Kürzel ...
Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...
Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...
Gefahrgutvorschriften sind kompliziert, sie in die Praxis umzusetzen ist es auch. der gefahrgutbeauftragte macht die Arbeit leichter: Gefahrgutbeauftragten, beauftragten Personen und ...
Informiert über das nationale und internationale Hockey.
Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihren Auftritt im Hockeymarkt.
Sie ist die einzige bundesweite Hockeyzeitung ...
Prüfungs- und Praxiswissen für Ihre Ausbildung.
Mehr Erfolg in der Ausbildung, sicher in alle Prüfungen gehen, im Beruf jeden Tag überzeugen: „Die Kaufleute für Büromanagement“ ist die ...
Die Flugzeuge der Bundeswehr, Die F-40 Reihe behandelt das eingesetzte Fluggerät der Bundeswehr seit dem Aufbau von Luftwaffe, Heer und Marine.
Jede Ausgabe befasst sich mit der genaue Entwicklungs- ...