JPA : mise en oeuvre de la persistance des données en Java
Approfondissez votre connaissance de la persistance des données en Java avec notre formation dédiée à l’API Java Persistence (JPA). Découvrez les origines et limites des solutions de persistance Java, comme JDBC et Hibernate. Approfondissez votre connaissance de l’architecture de JPA et apprenez à l’utiliser dans différents types d’applications Java. Résolvez les problématiques de gestion des objets EntityManager et EntityManagerFactory, et apprenez à utiliser l’injection de dépendances. Explorez les solutions pour l’injection de dépendances avec CDI et Spring Framework. Apprenez à mettre en œuvre la persistance avec JPA, à manipuler les objets persistants, à effectuer des mappings complexes et à gérer les transactions.
Prérequis
- Développer des applications en Java ou avoir suivi la formation TACFDEV1B1 – Programmer en Java
Public admis
- Salarié en Poste
- Entreprise
Demandeur d'emploi et Etudiant non admis
Financement
- Votre OPCO
- Financement personnel
Financement CPF non pris en charge
Modalités
- En centre
- En entreprise
- À distance
Objectifs pédagogiques
- Décrire les cas d’usage de l’API de persistance JPA
- Décrire les principes de fonctionnement du mapping objet/relationnel et plus particulièrement JPA
- Mettre en place JPA dans un projet Java
- Appliquer les principes d’injection de dépendances pour faciliter l’utilisation de JPA
- Réaliser les mappings entre les classes Java et les tables de bases de données
- Manipuler les instances d’objets persistants avec l’API JPA
- Structurer l’application en respectant le découpage en couches applicatives
- Mettre en œuvre les transactions
Programme de la formation
Introduction à la notion de persistance (1 heure)
- Origines du problème
- Architectures de la persistance
- Historique des solutions Java (JDBC, JDO, Hibernate, JPA)
- Rappels sur JDBC
- Notion de pilote/fournisseur JDBC
- Utiliser et intégrer un pilote JDBC dans son projet Java sous Eclipse
- Utilisation du pilote et connexion à la base de données
- Formuler des requêtes SQL au travers des différents types d’interfaces (requêtes simples, pré compilées, procédures stockées)
- Exploiter les résultats
- Les limites de JDBC
- Domaines d’application des frameworks de persistance
- Types d’applications, contraintes et obligations
Introduction à la Java Persistence API (JPA) (1 heure)
- Présentation de JPA
- La spécification
- Les implémentations
- Hibernate : Une implémentation JPA
- EclipseLink
- Stratégie d’utilisation de JPA dans les différents types d’applications Java
- Intégration dans une application Java
- Intégration dans une application Jakarta EE
- Architecture de JPA
- Les mécanismes de gestion de l’EntityManager
- Mécanismes de Lazy-loading et Eager-loading
- Bonnes pratiques de conception avec les patterns (Facade, Data Access Object, …)
Architecture applicative et JPA (4 heures)
- Résoudre les problématiques de gestions des objets EntityManager et EntityManagerFactory
- Utiliser l’injection de dépendances
- Externaliser la transmission des objets JPA aux classes de gestion de la persistance
- Solutions pour l’injection de dépendances
- Utiliser l’API Context & Dependency Injection (CDI) dans une application Jakarta EE
- Utiliser Spring Framework
- Injection avec CDI
- Injection avec Spring Framework
- Présentation et mise en place
- Configuration de Spring pour l’injection de dépendances
- Annotations d’injection compatibles Spring et CDI
- Travaux pratiques :
- Installation et configuration du framework Spring
- Ajout de la configuration pour Spring Framework
- Injection des ressources JPA dans les classes de gestion de la persistance
Mise en œuvre de la persistance avec JPA (3 heures)
- Spécification et implémentation : Les implémentations JPA
- TopLink
- Hibernate
- EclipseLink
- Installer et utiliser une implémentation JPA
- La définition du mapping sur les entités
- Utilisation des annotations sur les objets persistants
- Problématique de la dépendance des objets aux API
- Travaux pratiques :
- Installation et configuration du framework Hibernate en tant qu’implémentation JPA
Manipulation des objets persistants (5 heures)
- Création d’instances persistantes
- Règles de conception des classes
- Chargement d’instances persistantes
- Présentation et utilisation du langage de requêtage : JPQL (JPA Query Language)
- Utilisation de l’API Criteria
- Suppression d’instances
- Suppressions simples
- Suppression d’une grappe d’objets
- Travaux pratiques :
- Réalisation d’une classe d’objet persistant
- Réalisation d’une classe de manipulation des objets persistants (DAO) avec les méthodes du CRUD qui permettent de rechercher, insérer, supprimer et modifier des entités
- Reprendre le TP en utilisant l’API Criteria
Les mappings complexes (5 heures)
- Mapping de l’héritage
- Les problématiques du mapping de l’héritage
- Les différentes approches entre les tables et les classes
- Mapping des associations
- Travaux pratiques :
- Conception de classes d’objets persistants et mise en place d’une relation d’association one-to-one
- Ajout de classes d’objets persistants supplémentaires et mise en place d’une relation à cardinalité multiple
- Conception d’une classe d’objet persistant par héritage d’une classe existante et mise en œuvre des différentes techniques de mapping de l’héritage
La gestion des transactions (2 heures)
- Rappel sur la notion de transaction
- Transaction et concurrence d’accès
- Niveaux d’isolation
- Stratégies de contrôle de la concurrence
- Les transactions utilisateurs
- Travaux pratiques :
- Mettre en place des transactions dans la classe de manipulation des objets persistants (DAO)

Proposé par
ENI Service
"votre centre de formation informatique de confiance"

Proposé par
ENI Service
