Description
Cette formation permet de maîtriser la persistance des données dans les applications Java à l’aide du framework Hibernate. Elle aborde les principes du mapping objet-relationnel et la mise en œuvre des annotations JPA. Les participants apprennent à créer, manipuler et interroger des objets persistants de manière efficace. La formation couvre l’utilisation du langage HQL et de l’API Criteria pour accéder aux données. Les mécanismes de transactions, de gestion de la concurrence et de cache sont étudiés afin d’optimiser les performances. Les outils Hibernate Tools sont utilisés pour automatiser la génération des ressources et du modèle de données.
Objectifs
- Comprendre les principes de la persistance des données en Java et le rôle d'Hibernate
- Mettre en œuvre le mapping objet-relationnel avec Hibernate et les annotations JPA
- Développer, manipuler et optimiser des objets persistants dans une application Java
- Interroger efficacement les données à l'aide du langage HQL et de l'API Criteria
- Gérer les transactions, la concurrence et les mécanismes de cache pour améliorer les performances
- Automatiser la génération des ressources et du modèle de données avec les outils Hibernate
Récapitulatif
Public
Développeurs Java souhaitant intégrer ou renforcer la persistance des données dans leurs applications.
Architectes applicatifs impliqués dans des projets Java/JEE.
Toute personne amenée à maintenir ou faire évoluer des applications Java utilisant Hibernate ou JPA.
Prérequis
Maîtrise du langage Java et de la programmation orientée objet.
Connaissances de base des bases de données relationnelles et du langage SQL.
Notions d'architecture applicative Java appréciées.
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Fondamentaux de la persistance des données en Java
- Enjeux et principes de la persistance des données en Java
- Principaux frameworks de persistance
- Présenter le projet Hibernate et son positionnement dans l'écosystème Java
- Hibernate et la spécification JPA
Développer une première classe persistante avec Hibernate
- Installer et configurer le framework Hibernate
- Développer une classe persistante simple
- Paramètres de configuration de l'application
- Exécuter une première requête HQL
- Travaux pratiques : Mapping d'une classe simple, Exécution d'une requête HQL
Mettre en œuvre le mapping objet-relationnel avec Hibernate
- Comprendre les objectifs et les principes du mapping objet-relationnel
- Développer des classes persistantes adaptées aux modèles relationnels
- Réaliser les mappings les plus courants
- Comparer les annotations Hibernate et les annotations JPA
- Choisir et configurer les générateurs d'identifiants
- Mettre en œuvre les relations one-to-one, one-to-many et les mécanismes d'héritage
Manipuler et gérer les objets persistants
- Mettre en œuvre les opérations CRUD
- Cycle de vie des objets persistants
- Synchronisation avec la base de données
- Mettre en place la persistance en cascade
- Charger et gérer les objets persistants
- Optimiser le mapping des classes et des propriétés
- Mapper les associations de type bag, list et map
- Travaux pratiques : Création, mise à jour, suppression et chargement d'objets persistants, Utilisation d'attributs dérivés, Mapping d'une collection de valeurs, Mise en œuvre d'une association many-to-many
Interroger les données avec HQL et l'API Criteria
- Créer des requêtes avec jointures
- Mettre en œuvre des requêtes d'interrogation avancées
- Utiliser les projections avec le langage HQL
- Réaliser des requêtes sur des ensembles de données
- Travaux pratiques : Optimisation d'une requête HQL, Développement d'une requête à l'aide de l'API Criteria
Gérer les transactions et les accès concurrents
- Les propriétés d'une transaction
- Mettre en œuvre l'atomicité des transactions
- Gérer les niveaux d'isolation des données
- Appliquer les techniques de verrouillage
- Travaux pratiques : Mise en œuvre et gestion d'une transaction
Optimiser les performances avec le cache Hibernate
- Objectifs et les principes du cache Hibernate
- Utiliser le cache de premier niveau
- Configurer et exploiter le cache de second niveau
- Travaux pratiques : Configuration et utilisation du cache Hibernate
Automatiser la génération des ressources Hibernate
- Les outils Hibernate Tools
- Générer le fichier de configuration hibernate.cfg.xml
- Générer les classes du modèle (DAO et POJO) à partir d'un schéma SQL existant (Reverse Engineering)
- Automatiser les processus avec les tâches ANT
- Générer le schéma de base de données avec hbm2ddl (SchemaExport)
- Travaux pratiques : Installation du plug-in Hibernate Tools pour Eclipse, Reverse Engineering d'une base de données existante