Description
Cette formation aborde les enjeux du mapping objet-relationnel, en se concentrant sur les problématiques de chargement des données, telles que le lazy loading et l'utilisation de proxy. Elle couvre également les différentes stratégies de cache d'Hibernate, leurs avantages et inconvénients, ainsi que les problématiques de partage des données liées à la concurrence d'accès. Les participants apprendront à optimiser les associations et à gérer l'héritage dans les bases de données. Destinée aux développeurs et architectes, cette formation vise à améliorer la performance et l'efficacité des applications.
Objectifs
- Assimiler les problématiques classiques de performance liées au mapping objet-relationnelMaîtriser les concepts avancés d'Hibernate liés à la performanceMaîtriser les bonnes pratiques de développement HibernateUtiliser les différents caches Hibernate
Récapitulatif
Public
Architectes, chefs de projets et ingénieurs
Prérequis
Avoir une bonne pratique de base d'Hibernate ainsi que de Java
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é
Objectifs
- Mapping Objet-Relationnel et "impedance mismatch"
Problématiques liées au chargement des données
- Le Lazy Loading ou chargement par nécessité
- Notion et utilisation de Proxy
- Les stratégies de Fetch
Utilisation des caches d'Hibernate
- Le cache de session
- Le cache de second niveau
- Le cache mapping
- Les stratégies de cache
- Avantages et inconvénients des différentes implémentations
- Le cache de requête
Partage des données
- Problématiques liées à la concurrence d'accès
- Verrouillage optimiste / pessimiste
- Clustering
- JBossTreecache
Optimisation des associations
- Cas des associations bi-directionnelles
- Gestion de l'attribut inverse
- Associations polymorphes
Problématiques liées à l'héritage
- Une table par hiérarchie
- Une table par sous-classe
- Une table par classe concrète
Monitoring des performances
- Suivi d'une SessionFactory
- Métriques