Mettre en œuvre la persistance Java avec Hibernate
Programme
Objectifs
- Définition de la persistance objet
- Classes, fichier de mapping, configuration, cycle de vie des objets
- Mappage des associations unidirectionnelle/bidirectionelle et descollections
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 lesutiliser ?
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