La persistance des donnees est un enjeu central de tout projet Java d’entreprise. Cette formation vous apprend a utiliser Hibernate, l’implementation JPA de reference, pour mapper vos objets Java sur une base relationnelle de maniere efficace. Du mapping par annotations aux strategies d’optimisation (lazy loading, caching multi-niveaux, verrouillage optimiste), vous acquerrez les competences pour concevoir une couche de persistance performante et maintenable.
Public visé
Architectes, consultants, développeurs, ingénieurs et chefs de projets.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Décrire les concepts d’Hibernate et JPA
- Définir et utiliser des modèles persistants
- Résoudre les défis de persistance ORM
- Utiliser JPQL/HQL
- Appliquer des techniques d’optimisation
Programme
Jour 1 - Matin
La problématique de la persistance
- Le mapping objet-relationnel
- Intérêt d’Hibernate, implémentation de JPA
- JPA et les serveurs d’applications
- Historique des solutions, Hibernate, TopLink, EJB
Jour 1 - Après-midi
Le modèle de persistance
- Définition d’une entité persistante, concept de POJO, les attributs, les relations
- Entité et identité
- Cycle de vie des entités
- Mise en place d’un mapping
- Mapping sans annotations
- Mapping par annotations
- Déclaration des attributs
Jour 2 - Matin
Le modèle de persistance - Suite
- Représentation des différents types de relation entre entités
- Classe embarquée
- Relation 1..1
- Relation 1..N et N..1
- Relation N..M
- Manipulations CRUD des entités
- Gestion de la bidirectionnalité (ou relation inverse)
- Gestion de l’héritage et du polymorphisme
- Mapper une entité sur plusieurs tables
Travaux pratiques
- Mise en place de la persistance d’un modèle illustrant les différentes configurations présentées
Jour 2 - Après-midi
Manipulation des entités
- Le concept d’Entity Manager
- Gestion des transactions, JTA (Java Transaction API)
Jour 3 - Matin
Manipulation des entités - Suite
- Les requêtes
- Requêtes nommées et requêtes dynamiques
- JPQL (Java Persistence Query Language)
- API Criteria
- Définition d’une requête
- Exécution d’une requête
- Requêtes paramétrées
- Syntaxe JPQL/HQL
Travaux pratiques
- Utilisation des fonctionnalités de requêtage
Jour 3 - Après-midi
Performances
- Utilisation de Cascade
- Optimisation du chargement et Lazy Loading
- Le verrouillage optimiste
Travaux pratiques
- Comparaison performance Lazy Loading, mode Cascade
Jour 4 - Matin
Les outils Hibernate
- Génération du fichier de configuration
- Le Reverse Engineering
- SchemaExport
Travaux pratiques
- Installation du Plug-in Eclipse Hibernate tools
- Reverse Engineering d’une base existante
Jour 4 - Après-midi
La gestion du cache
- Cache de premier et de second niveau
JPA
- Pagination
- Les records et les enums
- Les converters
- JPA @Embedded and @Embeddable
Travaux pratiques
- Mise en place d’une relation embedded / embeddable
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation DEV-JAVA-260 — Hibernate - Mapping objet-relationnel Java. Domaine : Développement. Niveau : Intermédiaire. Durée : 4 jours (28 heures). Mots-clés : java, hibernate, jpa, orm, persistance. Cylian Formation, Dijon.