Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Hibernate - Standardisierte Persistenz

Hibernate - Standardisierte Persistenz

von: Bernd Müller, Harald Wehr

Addison-Wesley Verlag, 2007

ISBN: 9783827325372, 355 Seiten

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 19,95 EUR

Ersparnis: 20,00 EUR

  • Excel Geheime Tricks - So reizen Sie's aus!
    TYPO3 und TypoScript Kochbuch
    Das Google Web Toolkit. schnell + kompakt
    Google Web Toolkit - Ajax-Applikationen mit Java
    Kommunikation in verteilten Anwendungen - Einführung in Sockets, Java RMI, CORBA und Jini
    Das Grundlagenbuch zu Macromedia Dreamweaver MX
    Web-Entwicklung mit Eclipse
    Java-Programmierung mit dem Borland JBuilder 6
  • Projektmanagement mit Excel
    Mambo - Websites organisieren und gestalten mit dem Open Source-CMS
    Excel Espresso!
    Die Eclipse Rich Client Platform - Entwicklung von erweiterbaren Anwendungen mit RCP

     

     

     

     

     

 

Mehr zum Inhalt

Hibernate - Standardisierte Persistenz


 

Java-Persistence-API mit Hibernate - Standardisierte Persistenz

1

Inhaltsübersicht

6

Inhaltsverzeichnis

8

Vorwort

8

1 Einführung

8

2 Grundlegendes Mapping von Objekten

8

3 Objektlebenszyklus

9

4 Objekte und Beziehungen

9

5 Vererbung

10

6 Transaktionen

10

7 Datenbankabfragen

11

8 JPA-Konfiguration

11

9 Interessantes rund um Hibernate

13

10 JBoss-Seam

13

A Verwendete Software und Beispielprogramme

13

B URL-Verzeichnis

15

Literaturverzeichnis

15

Stichwortverzeichnis

15

Vorwort

16

1 Einführung

18

1.1 Über dieses Buch

18

1.1.1 Spezifikationen und Standards

18

1.1.2 Das Buch im Netz

19

1.1.3 Zur Sprache

20

1.1.4 Der Leser

20

1.1.5 Vollständigkeit

21

1.1.6 Beispielprogramme

21

1.1.7 Open-Source

23

1.2 Motivation

24

1.2.1 Standards

24

1.2.2 Zwei Welten

24

1.2.3 Entwicklerproduktivität

25

1.3 Ein wenig Historie

25

1.4 Anforderungen an das OR-Mapping

27

1.5 Das Beispiel für Ungeduldige

27

1.5.1 Beispiel mit Hibernates XML-Mapping

28

1.5.2 Beispiel mit Annotationen

32

1.5.3 Beispiel mit JPA

34

1.5.4 Beispiel mit JPAs XML-Mapping

35

1.5.5 Warum Annotationen?

36

1.6 Java-Annotationen

37

1.6.1 Grundlagen

37

1.6.2 Definition eigener Annotationen

40

2 Grundlegendes Mapping von Objekten

42

2.1 Primärschlüssel versus Objektidentität

42

2.1.1 Sequence-Generatoren

45

2.1.2 Table-Generatoren

47

2.1.3 Hibernate-Generatoren

50

2.2 POJO-Mapping

51

2.2.1 Mapping-Optionen auf Entity-Ebene

52

2.2.2 Mapping-Optionen auf Property-Ebene

54

2.2.3 Die

57

Annotation

57

2.3 Wertetypen

59

2.4 Binäre Daten

63

2.5 Legacy-Systeme

65

2.5.1 Natürliche Schlüssel

66

2.5.2 Zusammengesetzte Schlüssel

67

2.5.3 Mehrere Tabellen für ein Entity

74

3 Objektlebenszyklus

80

3.1 JPA in Java-SE-Anwendungen

80

3.1.1 Speichern von Objekten

81

3.1.2 Einfaches Laden von Objekten

88

3.1.3 Löschen von Objekten

90

3.2 JPA in Java-EE-Anwendungen

90

3.2.1 Konfiguration des Eclipse-Projekts

91

3.2.2 Implementierung der EJB-Komponenten

93

3.3 Entity-Listener und Callback-Methoden

96

4 Objekte und Beziehungen

102

4.1 Einfache Beziehungen

103

4.1.1 Unidirektionale 1:n-Beziehungen

103

4.1.2 Bidirektionale 1:n-Beziehungen

106

4.1.3 1:1-Beziehungen

111

4.1.4 Rekursive Beziehungen

116

4.2 Komplexere Beziehungen

119

4.2.1 Unidirektionale n:m-Beziehungen

119

4.2.2 Bidirektionale n:m-Beziehungen

121

4.2.3 Assoziationsklassen

122

4.3 Datentypen für Collections

127

4.3.1 Beziehungen als Listen

127

4.3.2 Beziehungen als Maps

129

4.4 Andere Arten von Beziehungen

131

4.4.1 Collection von Werten

131

4.4.2 Collection von eingebetteten Werten

134

5 Vererbung

140

5.1 Eine Tabelle für eine Vererbungshierarchie

141

5.2 Eine Tabelle je Unterklasse

144

5.3 Eine Tabelle je konkreter Klasse

146

5.4 Mapping von Oberklassen

148

5.5 Bewertung

150

5.6 Kombination von Vererbungsstrategien

150

5.7 Vererbung und Datenbankabfragen

152

6 Transaktionen

154

6.1 Probleme des Mehrbenutzerbetriebs

154

6.2 Isolation-Level

156

6.3 Transaktionen in der JPA

158

6.3.1 Konkurrierende Zugriffe

159

6.3.2 Optimistisches Locking

161

6.3.3 Weitere Lock-Modi

163

6.4 Der Persistenzkontext

165

6.5 Konversationen

168

6.5.1 Grundlagen

168

6.5.2 Konversationen mit JPA und EJBs

171

6.6 Caching

176

7 Datenbankabfragen

182

7.1 JPA-Query-Interface

183

7.1.1 Named Queries

185

7.1.2 Parameter für Abfragen

187

7.1.3 Direkte SQL-Abfragen

187

7.2 Java Persistence Query Language (JPA-QL)

190

7.3 Die From-Klausel

191

7.3.1 Implizite Joins

191

7.3.2 Inner-Joins

192

7.3.3 Left-Joins

193

7.3.4 Fetch-Joins

194

7.3.5 Joins ohne definierte Mapping-Beziehungen

196

7.4 Selektionen mit Where

196

7.4.1 Unterabfragen (Subselects)

197

7.4.2 Funktionen

199

7.5 Projektionen mit Select

200

7.5.1 Aggregationsfunktionen

201

7.5.2 Gruppieren von Daten mit Group By und Having

202

7.5.3 Ergebnisse sortieren mit Order By

204

7.5.4 Konstruktoren im Select-Statement

204

7.6 Update- und Delete-Statements

205

7.7 Hibernate-Abfragen mit Criteria und Example

206

7.7.1 Query by Criteria

206

7.7.2 Query by Example

214

8 JPA-Konfiguration

218

8.1 Persistenzeinheiten

218

8.2 Mapping-Dateien und Annotationen

221

8.2.1 Das Element <entity-mappings>

222

8.2.2 Das Element <persistence-unit-metadata>

223

8.2.3 Das Element <access>

224

8.2.4 Das Element <sequence-generator>

224

8.2.5 Das Element <table-generator>

225

8.2.6 Das Element <named-query>

226

8.2.7 Das Element <named-native-query>

226

8.2.8 Das Element <sql-result-set-mapping>

226

8.2.9 Das Element <entity>

227

8.2.10 Das Element <table>

229

8.2.11 Das Element <unique-constraint>

230

8.2.12 Das Element <secondary-table>

230

8.2.13 Das Element <primary-key-join-column>

231

8.2.14 Das Element <discriminator-column>

232

8.2.15 Das Element <attribute-override>

232

8.2.16 Das Element <association-override>

233

8.2.17 Das Element <attributes>

233

8.2.18 Das Element <column>

234

8.2.19 Das Element <id>

235

8.2.20 Das Element <embedded-id>

235

8.2.21 Das Element <basic>

236

8.2.22 Das Element <version>

237

8.2.23 Das Element <join-column>

237

8.2.24 Das Element <cascade>

238

8.2.25 Das Element <one-to-one>

238

8.2.26 Die Elemente <many-to-one> und <one-to-many>

239

8.2.27 Das Element <many-to-many>

241

8.2.28 Das Element <order-by>

241

8.2.29 Das Element <map-key>

242

8.2.30 Das Element <embedded>

242

8.2.31 Das Element <join-table>

243

8.2.32 Das Element <mapped-superclass>

243

8.2.33 Das Element <embeddable>

244

8.2.34 Das Element <entity-listener>

244

8.2.35 Das Element <id-class>

245

8.2.36 Das Element <inheritance>

245

8.3 XML überschreibt die Annotationen

246

9 Interessantes rund um Hibernate

250

9.1 Hibernate-Validator

250

9.1.1 Built-In-Bedingungen

251

9.1.2 Implementierung eigener Bedingungen

254

9.1.3 Verwendung von Validatoren

258

9.2 Hibernate-Search

260

9.2.1 Lucene

260

9.2.2 Konfiguration in Hibernate

261

9.2.3 Hibernate-Bridges

266

9.2.4 Abfragen mit der Lucene-Syntax

270

9.3 Dynamische Business-Modelle

271

9.3.1 Abbildung in Maps

271

9.3.2 Abbildung in XML

275

9.4 Hibernate-Tools und die JBoss-IDE

278

9.4.1 Eclipse-Plug-ins

279

9.4.2 Ant-Tasks

284

10 JBoss-Seam

294

10.1 Zustandsbehaftete Komponenten und Injektionen

295

10.2 Oberflächen mit JSF und Facelets

296

10.3 Authentifizierung und Autorisierung

300

10.4 Konversationen

303

10.5 Natives Hibernate und Query by Criteria

309

10.6 PDF-Erzeugung und Mail

314

A Verwendete Software und Beispielprogramme

324

A.1 Verwendete Software

324

A.1.1 Hibernate

324

A.1.2 HSQLDB

325

A.1.3 JBoss-Application-Server

325

A.1.4 Alternative Datenbanken

326

A.1.5 JBoss-IDE

329

A.1.6 Ant

329

A.2 Beispielprogramme

329

A.2.1 Bibliotheken

333

A.2.2 Projekte einfuehrung-hibernate, einfuehrung-entity, einfuehrung-jpa und einfuehrung-jpa-xml

334

A.2.3 Projekte pojo-sequence-generator und pojo-table-generator

334

A.2.4 Projekt pojo-basics

335

A.2.5 Projekt pojo-natuerlicher-schluessel

335

A.2.6 Projekte pojo-id-class, pojo-embeddedid, pojo-embeddable

335

A.2.7 Projekt pojo-secondary-table

335

A.2.8 Projekte objektlebenszyklus, objektlebenszyklus-listener und objektlebenszyklus-javaee

335

A.2.9 Projekt beziehungen-1-zu-n

336

A.2.10 Projekte beziehungen-1-zu-1,beziehungen-1-zu-1-hibernate, beziehungen-1-zu-1-table, beziehungen-1-zu-1-onetomany

336

A.2.11 Projekte beziehungen-n-zu-m-uni, beziehungen-n-zu-m-bi, beziehungen-assoziationsklasse

336

A.2.12 Projekte beziehungen-liste und beziehungen-map

336

A.2.13 Projekte beziehungen-werte-collection und beziehungen-embedded-collection

337

A.2.14 Projekt vererbung-single-table

337

A.2.15 Projekt vererbung-joined

337

A.2.16 Projekt vererbung-table-per-class

337

A.2.17 Projekt vererbung-mapped-superclass

337

A.2.18 Projekt vererbung-mix

337

A.2.19 Projekte transaktionen-konkurrenz und transaktionen-konkurrenz-mit-locking

337

A.2.20 Projekte transaktionen-kontext-javase und transaktionen-kontext-javaee

338

A.2.21 Projekte transaktionen-ejb-atomar und transaktionen-ejb-konversation

338

A.2.22 Projekt n-plus-eins-selects

340

A.2.23 Projekte datenbankabfragen, datenbankabfragen-batch und datenbankabfragen-qbc-qbe

340

A.2.24 Projekt konfiguration-xml-vs-annotationen

341

A.2.25 Projekt interessantes-validator

341

A.2.26 Projekt interessantes-lucene

342

A.2.27 Projekt interessantes-dynamic-maps und interessantes-dom4j

342

A.2.28 Projekt interessantes-hibernate-tools

342

A.2.29 Projekt seam-banking

342

URL-Verzeichnis

344

B.1 Spezifikationen

344

B.2 Systeme

344

B. 3 Informationen

345

Literaturverzeichnis

346

Stichwortverzeichnis

348

A

349

B

349

C

349

D

350

E

350

F

350

G

350

H

351

I

351

J

351

K

352

L

352

M

352

N

352

O

352

P

352

Q

353

R

353

S

353

T

354

U

354

V

354

W

354

X

354