Formation JPA

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.

70% pratique
30% théorie

Informations pratiques

Durée 3 jours
Format Présentiel / Distanciel
Participants 8 personnes max
Certificat Attestation de formation

Public cible

Développeurs Java

Développeurs souhaitant apprendre JPA pour implémenter l'accès aux données

Architectes logiciels

Architectes souhaitant comprendre comment intégrer JPA dans l'architecture

Tech leads

Leaders techniques devant comprendre les patterns et bonnes pratiques avec JPA

Prérequis

Prérequis obligatoires

  • Connaissance et pratique du dévelopemment Java
  • Utilisation de base de données relationnelle
  • Notions de SQL

Environnement technique

Outils de développement

IDE : IntelliJ IDEA, Eclipse IDE
JVM : 17 ou 21 LTS
Base de données : PostgreSQL ou Derby

Configuration système

Système : Linux, Windows, MacOS
Mémoire : 8 GB minimum, 16 GB recommandés
Stockage : 1 Go d'espace libre
Docker : pour les services externes (base de données,...)

Programme détaillé

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

Objectifs et résultats attendus

Compétences acquises

  • Comprendre les principes du mapping objet / relationnel
  • Prendre en main l'API JPA
  • Accéder à une base de données relationnelle avec Hibernate

Livrables formation

  • Code source de tous les travaux pratiques
  • Projet final complet et fonctionnel
  • Slides de formation en PDF
  • Notes techniques
  • Ressources et liens utiles

Prêt à maîtriser JPA ?

Contactez-moi pour organiser cette formation pour votre équipe ou vous inscrire à la prochaine session.

Formation disponible en présentiel ou en distanciel.
Adaptation du contenu possible selon vos besoins spécifiques.