Sewatech - formations

Mapping O/R avec JPA

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.

Programme du cours

Techniques de persistance 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 EclipseLink

  • Une requête JPQL

  • 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 Java EE, avec les EJB

  • Les techniques de verrouillage : optimiste ou pessimiste


Cette formation peut être réalisée à distance ou dans vos locaux en France et Suisse Romande.