(+33)1 55 60 76 72

EclipseLink

Accueil » Formations » Java » EclipseLink

L'implémentation d'une couche de mapping objet-relationnel entre un modèle métier « objet » et une base de données relationnelle présente de nombreux avantages. La maîtrise de l'API JPA et la qualité d'une implémentation JPA telle qu'EclipseLink (Eclipse Persistence Services) permettent aux développeurs d'exploiter pleinement les intérêts du mapping objet-relationnel.Cependant, les modèles relationnel et objet ne sont pas similaires, ce qui occasionne des difficultés connues sous le terme d'« impedance mismatch ». Ces difficultés peuvent se traduire par d'importants problèmes de performance.La connaissance précise de l'outil de mapping et le respect de ses règles de développement sont impératives. C'est pourquoi cette formation ne se limite pas à la partie standard définie dans la spécification JPA : les fonctionnalités spécifiques à Eclipse Persistence Services sont étudiées.

1350 € HT 3 jours JP-EL1

Mise en oeuvre 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 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