Pour :
- Développeurs
- Architectes
- Chef de projets
pratiquant java 5 et ayant des notions d’XML
3 jours
maxi 6 participants
maxi 6 participants
L’API de persistance de donnée JPA est l’aboutissement logique des travaux autour de Hibernate ou Toplink. 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 Java SE ou Java EE, avec ou sans les EJB
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