Mise en œuvre de la persistance en Java avec Eclipse Persistence services (EclipseLink)
Programme
La persistance des objets
- Le mapping objet-relationnel et la notion « d’impedance mismatch »
- Les solutions du monde Java : Hibernate, TopLink, JDO, EJB.
- Intérêts de la spécification JPA (Java Persistence API).
- Le projet Eclipse Persistence Services et la mise en open-source deTopLink : EclipseLink
Prise en main de JPA et d’EclipseLink
- La notion de POJO
- Développer et tester une entité JPA avec Eclipse et EclipseLink. Les outilsproposés par le projet Dali
- Installation et configuration d’EclipseLink. Le fichier persistence.xml deJPA
- La définition du mapping : annotations et/ou fichier XML.
- Utilisation dans un contexte Java EE et dans un contexte client
Manipulation des entités
- Le principe du CRUD
- La manipulation des entités via l’EntityManager de JPA.
- Le cycle de vie des entités : les états ‘new’, ‘managed’,’detached’ et ‘removed’
- L’utilisation des ‘callbacks’ de JPA
- La gestion des transactions
Définition du mapping
- Mapping sans annotations
- Mapping par annotations
- Mapper une entité sur plusieurs tables
- Entités et composition
- Définition des clés. Clés multiples, clés auto-incrémentées…
- Principe de la gestion des relations
- Relations et collections
- Relations 1:1, 1:N, N:1 et M:N
- Spécificités d’EclipseLink pour le mapping des collections.
Le requêtage
- Langage de requêtes JPQL
- Définition d’une requête
- Exécution d’une requête
- Requêtes paramétrées
- Syntaxe de JPQL
Optimisation du mapping
- Définir la politique de chargement (« Fetch type »). Les modes EAGER etLAZY
- L’attribut ‘Cascade’ pour les relations
- Le mapping de l’héritage
- La gestion des verrous : mise en oeuvre des modes optimiste etpessimiste
- Les optimisations propres à EclipseLink
- Les mécanismes de cache