Objectifs

-Connaître et assimiler les problématiques classiques de performance
liées au mapping objet-relationnel
-Maîtriser les concepts avancés d’Hibernate liés à la performance
-Maîtriser les bonnes pratiques de développement Hibernate
-Savoir utiliser les différents caches Hibernate

Programme

 – le lazy loading ou chargement par nécessité

– Notion et utilisation de Proxy

– Les stratégies de fetch
Travaux pratiques
Mise en oeuvre de différentes stratégies de chargement. Etude de différents
cas d’anomalie de chargement.

– 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
Travaux pratiques
Mise en oeuvre du cache de session et du cache de second niveau.

– Problématiques liées à la concurrence d’accès Verrouillage
optimiste/pessimiste

– Clustering

– JBossTreecache
Travaux pratiques
Cas d’utilisation du verrouillage optimiste. Mise en place d’un cache
« clusterisé » avec JBoss TreeCache.

– Cas des associations bi-directionnelles

– Gestion de l’attribut inverse

– Associations polymorphes
Travaux pratiques
Manipulation des associations bidirectionnelles.

– Définition et utilité d’une structure de données
– La structure Tableau
– La structure Tableau multi-dimensions
– Les chaînes de caractères
Travaux pratiques
Mise en œuvre d’algorithmes de recherche et de tri d’un tableau

– Une table par hiérarchie

– Une table par sous-classe

– Une table par classe concrète
Travaux pratiques
Mise en oeuvre et analyse structurelle des différents héritages.

– Suivi d’une SessionFactory

– Métriques
Travaux pratiques
Analyse de différentes métriques.

Référence :  WEB023

Type de Stage : Pratique

Durée : 2 jours

Public concerné:

Chefs de projets, analystes,
concepteurs, architectes logiciels
et développeurs.

Prérequis:


Bonnes connaissances de base
d’Hibernate. Très bonnes
connaissances du langage Java.