Objectifs pédagogiques
- Développer une application Java EE (Web, EJB) en réalisant la persistance des objets avec le Framework Hibernate
- Identifier et intégrer un Framework ORM (Object Relational Mapping) dans une architecture n-tiers
- Illustrer les concepts d'Hibernate
- Utiliser les bonnes pratiques de développement Hibernate
- Utiliser les annotations et les outils Hibernate.
Niveau requis
Avoir une bonne pratique de Java.
Public concerné
Architectes, chefs de projets, concepteurs, développeurs et ingénieurs.
Programme
Objectifs
- Définition de la persistance objet
- Classes, fichier de mapping, configuration, cycle de vie des objets
- Mappage des associations unidirectionnelle / bidirectionelle et des collections
L'architecture d'Hibernate
- Vue en couche
- Cycle de vie des instances
- Intégration JNDI, JDBC, JTA
- Gestion des sessions
Configuration
- APIs permettant la configuration par programmation
- Ouverture des sessions
- Gestion des connexions JDBC
- Dialectes SQL, cache de second niveau et cache de requêtes
- Fichier de configuration XML
- Intégration à un serveur d'application Java EE
Réalisation de classes persistantes
- Les Plain Ordinary Java Object (POJO)
- Mise en oeuvre de l'héritage
- Redéfinition des méthodes equals et hashCode
Les bases du Object Relational Mapping
- Les déclarations de mapping
- Les types utilisés par Hibernate
- Plusieurs mappings pour une même classe
- Les annotations Java 5
Etablir la persistance des collections
- Les types de collections persistantes
- Les clés étrangères, les éléments et les index d'une collection
- Associations *..* et 1..*
Etablir la persistance des associations
- Associations unidirectionnelles
- Associations bidirectionnelles
- Mappings complexes
Etablir la persistance des relations d'héritage
- Différentes stratégies
- Utilisation d'un discriminant
- Gestion du polymorphisme
- Comparaison des méthodes
- Avantages et inconvénients
- Dans quels cas les utiliser ?
Hibernate Query Language (HQL) et gestion des objets persistants
- Stocker et charger un objet
- Syntaxe du language HQL, les clauses from, select, where, order by, group by
- Jointures, agrégation, requêtes polymorphiques
- Les requêtes imbriquées
- Les bonnes pratiques
- Externalisation de requêtes nommées
- Chargement tardif des propriétés
- Gestion du cache de second niveau
- Le cache de requêtes
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)