Avant-propos
1. Introduction 15
2. Contenu de l'ouvrage 16
Environnement de développement
1. Installation du JDK 17
2. Installation de NetBeans 19
3. Installation d'Hibernate 26
4. Installation de MySQL 27
5. Premier lancement de NetBeans 48
5.1 Mise en place des libraires 49
5.2 Création du projet 54
Concept des ORM
1. Introduction 57
2. Le concept 58
2.1 La norme : JPA 59
2.2 L'implémentation : Hibernate 60
3. La structuration des données 60
3.1 Introduction au mapping 60
JPA et Java Hibernate
Apprenez le mapping objet-relationnel (ORM) avec Java
1/14© Editions ENIwww.editions-eni.fr
3.2 Importance du mapping 61
3.3 Différentes techniques de mapping 61
4. La connexion aux données 63
4.1 Introduction aux sessions 63
4.2 Les différents types de sessions 64
4.3 L'utilisation d'une session 64
4.3.1 RESOURCE_LOCAL avec Java SE 64
4.3.2 RESOURCE_LOCAL avec Java EE 65
4.3.3 JTA avec Java EE 66
5. L'interrogation des données 67
5.1 Introduction aux requêtes 67
5.2 Les requêtes natives 68
5.3 Les requêtes objets 68
5.4 Les requêtes nommées 69
5.5 Les requêtes "implicites" 70
5.6 L'API Criteria 71
6. Le cycle de vie des données 73
6.1 Introduction au cache 73
6.2 Les différents niveaux de caches 74
6.3 Cache de niveau 1 (L1) 75
6.4 Cache de niveau 2 (L2) 75
6.5 À retenir 76
Préparation d'un projet
1. Présentation du projet du livre 77
1.1 Description 77
1.2 Schéma de la base de données 78
2. Les possibilités de mapping 78
JPA et Java Hibernate
Apprenez le mapping objet-relationnel (ORM) avec Java
2/14© Editions ENIwww.editions-eni.fr
2.1 Fichier de mapping 79
2.2 Annotation 80
3. Paramétrage de l'ORM 81
3.1 Création du fichier persistence.xml 81
3.2 L'unité de persistance 92
3.3 L'implémentation de JPA utilisée 93
3.4 Les entités à mapper 93
3.5 Les propriétés du fichier de persistance 94
3.5.1 Le driver de connexion à la base de données 94
3.5.2 L'URL de la base de données 95
3.5.3 Le login 95
3.5.4 Le mot de passe 95
3.6 Le chargement du contexte de persistance 96
4. Les types persistables 97
4.1 Classes définies par l'utilisateur 97
4.1.1 Classe d'entité 97
4.1.2 Superclasse mappée 99
4.1.3 Classe intégrable 100
4.2 Données Java simples 101
4.3 Valeur multiple 102
4.4 Divers 103
5. Les différents champs 104
5.1 Les champs temporaires 104
5.2 Les champs persistables 105
5.2.1 L'annotation @Basic 105
5.2.2 L'annotation @Column 107
5.2.3 L’annotation @Temporal 109
6. Les clés primaires 111
6.1 Clé primaire simple 111
6.2 Clé primaire composée 112
JPA et Java Hibernate
Apprenez le mapping objet-relationnel (ORM) avec Java
3/14© Editions ENIwww.editions-eni.fr
7. Les valeurs générées 113
7.1 Valeur fixe 113
7.2 Valeur incrémentielle 114
7.2.1 GenerationType.AUTO 114
7.2.2 GenerationType.IDENTITY 115
7.2.3 GenerationType.TABLE 115
7.2.4 GenerationType.SEQUENCE 116
8. Les relations 117
8.1 Les relations 1-1 (OneToOne) 117
8.2 Les relations n-1 (ManyToOne) 120
8.3 Les relations 1-n (OneToMany) 120
8.4 Les relations n-n (ManyToMany) 122
8.5 Les relations n-n avec données sur la jointure 126
9. Type de chargement des données 129
9.1 Lazy 129
9.2 Eager 130
9.3 Mise en place 130
10. Particularités sur les entités 131
10.1 Sérialisation 131
10.2 Equals et HashCode 132
10.2.1 Implémentation par défaut 132
10.2.2 Implémentation basée sur la clé primaire 132
10.2.3 Implémentation basée sur une clé métier 133
10.2.4 Conclusion 133
Manipulation des données
1. Préparation 135
JPA et Java Hibernate
Apprenez le mapping objet-relationnel (ORM) avec Java
4/14© Editions ENIwww.editions-eni.fr
2. Établissement de la connexion 136
2.1 EntityManagerFactory 136
2.1.1 Avec conteneur JEE, en RESOURCE_LOCAL 136
2.1.2 Sans conteneur JEE, en RESOURCE_LOCAL 137
2.2 EntityManager 144
2.2.1 Avec conteneur JEE, en JTA 144
2.2.2 Avec conteneur JEE, en RESOURCE_LOCAL 145
2.2.3 Sans conteneur JEE, en RESOURCE_LOCAL 145
2.3 État d'une entité 147
3. Les transactions 147
3.1 Exécution d'une transaction 148
3.2 Méthodes diverses sur les transactions 149
3.2.1 Vérifier que la transaction est active 149
3.2.2 Empêcher la modification via la transaction 150
4. Création d'une enti 152
4.1 Création d'une entité simple 152
4.2 Création d'une arborescence d'entités 154
4.2.1 Relation avec identifiant différent 154
4.2.2 Relation avec identifiant partagé 157
4.2.3 L'annotation @PrePersist 160
4.2.4 Le générateur générique d'Hibernate 162
4.3 Cascade avec une table de jointure 164
4.4 Création d'une entité avec clé primaire composée 167
5. Récupération d'une entité 169
5.1 Entité avec une clé primaire simple 170
5.2 Entité avec une clé primaire composée 171
5.3 Depuis une entité déjà chargée 171
5.3.1 FetchType.EAGER 172
5.3.2 FetchType.LAZY 173
5.4 Depuis une requête spécifique 175
5.5 Référence d'une entité 176
JPA et Java Hibernate
Apprenez le mapping objet-relationnel (ORM) avec Java
5/14© Editions ENIwww.editions-eni.fr
1 / 14 100%