Descriptif
Hibernate et JPA : persistance en Java est une formation de 3 jours (21 heures), de niveau intermédiaire, rattachée au domaine « Développement logiciel, informatique et Web ». Mettre en œuvre la persistance avec Hibernate et JPA. Conçue et animée par des praticiens en activité, elle alterne apports ciblés (30 %) et mises en pratique (70 %) sur des laboratoires cloud individuels, avec des cas inspirés des secteurs banque, assurance et services publics. Disponible en inter-entreprises, en intra sur catalogue et en version sur mesure adaptée au contexte de l'entreprise.
Objectifs pédagogiques
À l'issue de la formation, le participant sera capable de :
- Mapping
- Associations
- Requêtes JPQL
- Transactions
- Performance
Programme détaillé
| N° | Contenus et activités | Durée |
|---|---|---|
| Jour 1 | ||
| 1 | Ouverture : attentes, modèles de données rencontrés par les participants et démarrage du poste de développement distant accessible au navigateur — JDK 21, Maven et base de données préconfigurés | 0,5 h |
| 2 | Le problème du mapping objet-relationnel : impédance entre modèle objet et modèle relationnel, ce que normalise la spécification JPA et ce qu'Hibernate ajoute au-delà — SessionFactory et Session sous l'EntityManager, dialectes, génération de schéma — configuration de l'unité de persistance et dépendances Maven | 1,5 h |
| 3 | Travaux pratiques : démarrer le projet fil rouge « réservation de salles », configurer la source de données et générer le schéma | 1,5 h |
| 4 | Mapping de base : @Entity, identifiants et générateurs, types et conversions, @Column, @Embeddable, énumérations, dates et heures | 1,5 h |
| 5 | Travaux pratiques : mapper Salle, Réservation et Utilisateur, puis vérifier le SQL réellement émis dans les journaux Hibernate | 2 h |
| Jour 2 | ||
| 6 | Associations : @ManyToOne, @OneToMany, @ManyToMany, choix du côté propriétaire, cascades, suppression des orphelins | 2 h |
| 7 | Travaux pratiques : mettre en place les associations du fil rouge et instrumenter les cascades lors de la suppression d'une salle | 2 h |
| 8 | Contexte de persistance et chargement : EntityManager, états des entités, chargement différé ou immédiat, exception d'initialisation hors session | 1,5 h |
| 9 | Travaux pratiques : reproduire puis corriger une exception de chargement différé et un problème de requêtes N+1 avec JOIN FETCH et graphe d'entités | 1,5 h |
| Jour 3 | ||
| 10 | Requêtes : JPQL, requêtes nommées, paramètres, API Criteria, requêtes natives, projections vers des DTO, puis les compléments propres à Hibernate — @NaturalId, filtres de session et chargement par lots | 2 h |
| 11 | Travaux pratiques : écrire les requêtes du back-office — disponibilités, taux d'occupation, recherche multicritère construite en Criteria | 2 h |
| 12 | Travaux pratiques : transactions et concurrence — démarcation et propagation, verrouillage optimiste avec @Version puis verrouillage pessimiste éprouvés sur une double réservation simultanée | 1,5 h |
| 13 | Travaux pratiques de performance : activer le cache de second niveau et le cache de requêtes, régler la taille des lots et la pagination, puis mesurer l'écart à partir des compteurs de statistiques d'Hibernate sur un jeu de données volumineux | 1 h |
| 14 | Synthèse : versionner le schéma par un outil de migration plutôt que par la génération automatique, tracer les modifications avec Hibernate Envers, check-list de revue de mapping et plan d'action sur les projets des participants | 0,5 h |
Méthodes pédagogiques
- Pédagogie active : 55 % du temps en pratique encadrée — laboratoires cloud provisionnés par participant, travaux pratiques guidés, fil rouge applicatif —, le reste en apports structurés, démonstrations commentées, cadrage et évaluation
- répartition calculée sur le déroulé détaillé de cette formation, et non annoncée de façon uniforme
- classe inversée avec prérequis sur le LMS
- apprentissage adaptatif selon le positionnement initial
- travaux en binômes
- classe virtuelle en séquences de 3 h 30 maximum sur Microsoft Teams
- support clair, complet et paginé remis à chaque participant
Technologies et outils mobilisés
Java 21, Maven, IntelliJ IDEA, Jakarta EE
Modalités d'évaluation et de validation
- Positionnement initial en ligne
- quiz de validation à chaque séquence
- évaluation finale des acquis (QCM et mise en situation)
- satisfaction à chaud
- questionnaire de transfert à 30 jours
- attestation de fin de formation
Plateforme, laboratoires et ressources
- LMS DATAROCKSTARS : parcours, supports numériques, quiz, évaluations, émargement par demi-journée
- laboratoires cloud individuels accessibles depuis un navigateur, sans installation, données fictives, détruits en fin de session
- bibliothèque O'Reilly (plus de 60 000 ressources)
- accès aux supports pendant 6 mois
