Techniques de persistance Java
- Techniques de persistance. Framework de persistance. Le projet Hibernate. Hibernate vs JPA.
Développer une classe persistante simple
- Installation du framework. Coder la classe persistante. Définir les propriétés de configuration. Exécuter Hibernate. Effectuer une requête HQL.
Travaux pratiques
Mapping d'une classe simple. Exécution d'une requête HQL.
Mapping objet / relationnel avec Hibernate
- Contexte et objectifs. Développement des classes persistantes. Effectuer le mapping des cas les plus courants. Annotations Hibernate vs annotations JPA.
- Choisir un générateur d'identifiant. Mise en oeuvre d'une relation one-to-one, one-to-many et d'héritage.
Travaux pratiques
Manipuler les objets persistants
- Les opérations CRUD. Cycle de vie des objets. Synchronisation avec la base de données. Persistance en cascade. Charger les objets persistants.
Travaux pratiques
Créer, mettre à jour, supprimer et charger des objets persistants.
Utilisation avancée du mapping
- Améliorer le mapping des classes et des propriétés.
- Mapping des associations bag, list et map.
Travaux pratiques
Utiliser un attribut dérivé. Mapping d'une collection de valeurs. Mise en oeuvre d'une association many-to-many.
Langage HQL et API Criteria
- Exécuter des requêtes d'interrogation. Exécuter des requêtes avec jointure. Utiliser des projections avec HQL. Requêtes sur les ensembles.
Travaux pratiques
Effectuer une requête HQL optimisée. Coder une requête à l'aide de l'API Criteria.
Transactions et accès concurrents
- Présentation des propriétés d'une transaction. Gestion de l'atomicité. Gestion de l'isolation des données. Technique de verrouillage.
Travaux pratiques
Mise en oeuvre d'une transaction.
Utiliser le cache Hibernate
- Objectifs. Cache de premier et de second niveau.
Travaux pratiques
Configuration du cache Hibernate.
Génération automatique des ressources
- Hibernate Tools. Génération du fichier de configuration hibernate.cfg.xml.
- Génération des classes du modèle (DAO/POJO) à partir du schéma SQL (Reverse Engineering).
- Automatisation avec les tâches ANT.
- hbm2ddl (SchemaExport). Génération des tables à partir de fichiers de mapping.
Travaux pratiques
Installation du plugin Eclipse Hibernate tools. Reverse engineering d'une base existante.