Mapping O/R avec JPA et EJB 3
L’API de persistance de donnée JPA fait partie de la spécification EJB 3, incluse dans JavaEE 5. Cette API est l’aboutissement logique des travaux autour de Hibernate, Toplink et des anciennes spécifications sur les EJB 2.0 et 2.1, elle vise à standardiser l’usage de ces frameworks de mapping objet / relationnel.
Ce cours vous permettra de comprendre les logiques de mapping entre une base de données relationnelle et les classes d’un langage orienté objet. Il abordera les techniques d’annotations permettant de mettre en oeuvre ce mapping, ainsi que le langage de requête JPQL (Java Persistence Query Language). Enfin, il traitera la question des transactions, en environnement JavaSE ou JavaEE, avec ou sans les EJB.
Programme de la formation
Techniques de persistances Java
La problématique de la persistance
Les frameworks de persistance pour Java
Présentation de JPA : Java Persistance API
Développer une classe persistante simple
La classe persistante
Le mapping de la classe persistante, avec les annotations JPA
Les propriétés de configuration standard
Les propriétés de configuration spécifiques à Hibernate ou Toplink
Une requête JPQL / EJB QL
Sauvegarder un objet persistant
Mapping objet / relationnel avec JPA
Contexte et objectifs
Le développement des classes persistantes
Le mapping des classes et propriétés
Le mapping des associations
Le mapping de l’héritage
Manipuler les objets persistants
Le chargement des objets persistants
Les opérations CRUD
Le cycle de vie des objets
La synchronisation avec la base de données
La persistance en cascade
Utilisation avancée du mapping
Contrôler les INSERT et les UPDATE
Le mapping des clés primaires composées
Le mapping multi-tables
Le mapping des associations many-to-many
Le mapping des associations de type list et map
Le langage JPQL / EJB QL
Les requêtes d’interrogation
Les sous-requêtes
Les requêtes avec jointures
Les projections avec JPQL / EJB QL
Les requêtes sur les ensembles
Transactions et accès concurrents
Présentation des propriétés d’une transaction
La gestion des transactions en environnement JavaSE
Les transactions en environnement Java Web, sans les EJB
Les transactions JTA, en environnement JavaEE, avec les EJB
Les techniques de verrouillage : optimiste ou pessimiste
Cette formation peut être réalisée dans vos locaux en France et Suisse Romande.
Cette formation a été élaborée par Olivier Hanny.
