Techniques de persistances Java- Présentation des différentes techniques de persistances
- Les types de frameworks de persistances
- La solution Hibernate : un ORM pragmatique
- Intégration de la couche Hibernate dans une application JEE
Développer une classe persistante simple- Coder la classe Java à rendre persistante
- Créer le fichier de mapping Objet / Relationnel
- Définir les propriétés de configuration (connexion bdd, dialecte Hibernate, fichier de mapping...)
- Démarrer le moteur Hibernate et effectuer une requête HQL
Mapping objet / relationnel avec Hibernate- Contexte et objectifs d'un outil de mapping Objet / Relationnel comme Hibernate
- Développement des classes persistantes : POJO, unicité des objets, sérialisation, associations
- Effectuer le mapping des classes : identifiants, propriétés, types Hibernate
- Effectuer le mapping des associations : component, one-to-one, one-to-many, many-to-one
- Mapper une hierarchie d'héritage : les différentes stratégies possibles
Manipuler les objets persistants- Charger les objets persistants : les différentes techniques de lecture (HQL, API Criteria...)
- Les stratégies de chargement : lazy loading, chargement immédiat, chargement agressif
- Mécanisme détaillé du lazy loading : comment maîtriser le chargement retardé
- Les opérations CRUD : insertion, lecture, mise à jour et suppression d'un objet persistant
- Comprendre le cycle de vie des objets persistants gérés par Hibernate
- Synchronisation avec la base de données : les différents modes de flushing
- Principe de la persistance en cascade lors des opérations d'écriture
Utilisation avancée du mapping- Mapping des classes et propriétés : formule SQL, synchronisation avec les triggers...
- Contrôler les requêtes INSERT et UPDATE générées par Hibernate
- Créer des collections de valeurs et des collections de composants
- Mapping des associations : sémantiques bag, list et map, associations many-to-many
- Mapping des types Blob
Le langage HQL et l'API Criteria- Requêtes d'interrogation : sélection des données, opérateurs de comparaison, opérateurs logiques
- Opérations sur les chaînes de caractères et les données temporelles
- Principe des requêtes avec jointures implicites, internes, externes et jointures rapportées
- Principe des sous-requêtes et des prédicats associés (in, all, any, some, exist)
- Effectuer des projections avec HQL et utiliser l'instanciation dynamique
- Requêtes sur les ensembles : les clauses count, min, max, avg, having, group by
Transactions et accès concurrents- Rappel des propriétés d'une transaction : les propriétés ACID
- Gestion de l'atomicité et de l'isolation des données avec Hibernate
- Intégration de la couche Hibernate dans une application Web : environnements JTA et non-JTA
- Les techniques de verrouillage pessimiste et optimiste
La Configuration par annotation- Présentation des annotations Hibernate
- Le mapping des classes et propriétés
- Le mapping des associations
|