Techniques de persistance Java
- Techniques de persistance. Framework de persistance. Le projet Hibernate. Hibernate versus JPA.
Développer une classe persistante simple
- Installer le 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
- Objectifs. Développement des classes persistantes.
- Effectuer le mapping des cas les plus courants. Annotations Hibernate versus annotations JPA.
- Choisir un générateur d'identifiant. Mise en œuvre d'une relation one-to-one, one-to-many et d'héritage.
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.
- Améliorer le mapping des classes et des propriétés.
- Mapping des associations bag, list et map.
Travaux pratiques
Créer, mettre à jour, supprimer et charger des objets persistants. Utiliser un attribut dérivé. Mapping d'une collection de valeurs. Mise en œuvre d'une association many-to-many.
Langage HQL et API Criteria
- Créer des requêtes avec jointure, d'interrogation.
- 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 œuvre 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 Plug-in Eclipse Hibernate tools. Reverse Engineering d'une base existante.