java training

Inhoudsopgave cursusboek JPA 2.1 / Hibernate

1 Object-Relational Mapping

1.1 Inleiding

1.2 Enterprise JavaBeans 2.0

1.3 Hibernate – TopLink

1.4 Java Persistence API

2 Installatie & configuratie

2.1 Installatie van JPA met Hibernate

2.2 Configuratie van JPA

3 Mijn eerste entity klasse

3.1 Daar komt hij weer...

3.2 De entity klasse

3.3 De Persistence Unit

3.4 Het hoofdprogramma

4 Persistente objecten

4.1 Entity klassen

4.2 Primary keys

4.2.1 Enkelvoudige primary key

4.2.2 Samengestelde primary key

4.2.3 Autogenerated primary keys

4.3 De identiteit van objecten

4.3.1 Object identity

4.3.2 Object equality

4.3.3 Database identity

4.4 Field access versus property access

5 Werken met entity objecten

5.1 Inleiding

5.2 De Entity Manager

5.3 De Persistence Context

5.4 Transacties

5.4.1 ACID transacties

5.4.2 JDBC transacties

5.4.3 JPA transacties

5.4.4 Transacties en de persistence context

5.4.5 Lokale transacties versus managed transacties

5.5 Mogelijkheden van de Entity Manager

5.5.1 Objecten bewaren

5.5.2 Objecten opzoeken

5.5.3 Objecten aanpassen

5.5.4 Objecten verwijderen

5.5.5 Objecten verversen

5.5.6 Objecten wegschrijven

5.5.7 Objecten verwijderen uit de persistence context

5.5.8 Overige methoden

5.6 Transacties en concurrency

5.6.1 Optimistic locking met JPA

5.6.2 Pessimistic locking

5.6.3 Caching

5.6.4 Conversaties & business transacties

6 Het domein model

6.1 Inleiding

6.2 Configuratie van tabellen en kolommen

6.2.1 Tabelnamen

6.2.2 Kolommen

6.2.3 Secundaire tabellen

6.3 Mapping van datatypes

6.3.1 Primary keys

6.3.2 Enkelvoudige datatypes

6.3.2.1 Primitieve datatypes

6.3.2.2 Datums en tijden

6.3.2.3 Het opsommingstype

6.3.2.4 Grote objecten

6.3.2.5 Speciale datatypes

6.3.2.6 Velden uitsluiten en virtuele velden

6.3.3 Value types: ingesloten objecten

6.3.4 Element Collections

6.4 Relaties tussen entiteiten

6.4.1 Value type versus entity type

6.4.2 Soorten relaties

6.4.3 One-to-one

6.4.3.1 Het cascade-type

6.4.3.2 Het fetch-type

6.4.3.3 Bidirectionele mapping

6.4.3.4 Orphan Removal

6.4.4 One-to-many en many-to-one

6.4.4.1 Geordende en gesorteerde verzamelingen

6.4.4.2 Verzamelingen als Map

6.4.5 Many-to-many

6.4.6 Relatie-objecten

6.5 Overerving

6.5.1 Strategieën voor overerving

6.5.1.1 Tabel voor de gehele klasse-hiërarchie (SINGLE_TABLE)

6.5.1.2 Tabel per subklasse (JOINED)

6.5.1.3 Tabel per concrete klasse (TABLE_PER_CLASS)

6.5.2 Overerving van velden of properties

6.5.2.1 Overerving van gewone superklassen

6.5.2.2 Attribute overriding

7 Zoekopdrachten

7.1 Inleiding

7.2 Query API en JP-QL

7.2.1 De Query API

7.2.2 Named queries

7.2.3 JP-QL

7.2.3.1 Onderdelen van een zoekopdrachten

7.2.3.2 Selectie van de entiteiten (FROM-clausule)

7.2.3.3 Projectie van de resultaten (SELECT-clausule)

7.2.3.4 De restrictie van de zoekoperatie (WHERE-clausule)

7.2.3.5 Voorwaardelijke uitdrukkingen

7.2.3.6 Binnen relaties zoeken: joins

7.2.3.7 Groepering van resultaten

7.2.3.8 Subqueries

7.2.3.9 Bulk update en delete

7.3 Native queries

7.4 Stored Procedures

7.5 Criteria API

8 Callbacks en listeners

9 Validatie

9.1 Inleiding

9.2 Configuratie

9.3 Validatieregels

9.4 Validation groups

Java Get Powered