Développement backend Java

EclipseLink

Objectifs

  • Développer une application Java mettant en oeuvre la notion de persistance avec JPA.
  • Mettre en oeuvre JPA avec EclipseLink et connaître les spécificités d'EclipseLink.
  • Connaître les bonnes pratiques

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 de TopLink : 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 outils proposés par le projet Dali
  • Installation et configuration d’EclipseLink. Le fichier persistence.xml de JPA
  • 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 et LAZY
  • L’attribut ‘Cascade’ pour les relations
  • Le mapping de l’héritage
  • La gestion des verrous : mise en oeuvre des modes optimiste et pessimiste
  • Les optimisations propres à EclipseLink
  • Les mécanismes de cache
Please login to get access to the quiz
EJB (Prev Lesson)
(Next Lesson) Java EE – Développez le backend de vos applications
Back to Développement backend Java
Public

<ul> <li>Architectes</li><li>Chefs de projets</li><li>Ingénieurs</li> </ul></div></div>

Pré-requis

Bonne pratique de Java