Stratégies de chargement
- Problématiques liées au chargement des données, l'impédance mismatch, les stratégies de fetch.
- Le chargement par select et sous-select.
- Le chargement par jointure, par lot.
Travaux pratiques
Mise en oeuvre de différentes stratégies de chargement. Etude de différents cas d'anomalie de chargement.
Mécanismes de caches
- La gestion des caches. Le cache de session.
- Le cache de second niveau, configuration (cache de cluster ou de JVM), types de cache (EHCache, JBossTreeCache...).
- Mappages de cache.
- Les différentes stratégies : lecture seule, lecture/écriture, lecture/écriture non stricte, transactionnelle.
- Compatibilités entre les caches et les stratégies de concurrence. Le cache de requêtes.
Travaux pratiques
Mise en oeuvre du cache de session et du cache de second niveau.
Partage des données
- Transactions et accès concurrents.
- Gestion de la concurrence par contrôle optimiste.
- Verrouillage pessimiste. Mise en cluster.
Travaux pratiques
Cas d'utilisation du verrouillage optimiste. Mise en place d'un cache "clusterisé" avec JBoss TreeCache.
Optimisation des associations
- Gestion des associations bidirectionnelles.
- Attribut de mapping " inverse".
- Associations polymorphes.
Travaux pratiques
Manipulation des associations bidirectionnelles.
Mapping d'héritage de classes
- Les stratégies d'héritage.
- Une table par hiérarchie de classe.
- Une table par sous-classe.
- Une table par classe concrète.
- Le polymorphisme implicite.
Travaux pratiques
Mise en oeuvre et analyse structurelle des différents héritages.
Suivi des performances
- Activation des métriques (statistiques).
- Les différents métriques disponibles.
- L'accès aux métriques (SessionFactory).
- Publication des métriques via JMX.
Travaux pratiques
Analyse de différentes métriques.
Projets annexes
- Hibernate Validator. Hibernate Search. Hibernate Shards.
Travaux pratiques
Mise en oeuvre de validation. Activation/désactivation de la validation. Déclenchement de validation autonome. Mise en oeuvre de requêtes Hibernate Search. Mise en oeuvre de Shards et discussion.