Ils nous font confiance
- Positionner Hibernate parmi les différentes possibilités de persistance objet- Réaliser des requêtes SQL via l’API JDBC- Rendre persistant les objets Java avec hibernate- Rendre persistant tout type de relation- Utiliser les différentes techniques de requêtes proposées- Gérer les transactions et les accès concurrents
Introduction à la persistance objet- Présentation de la problématique- Typologie de solutions (sérialisation, SGBDOO, SGBDR, ...)- Mapping modèle Objet/modèle Relationnel- les différentes solutions pour un support relationnelMise en oeuvre de l'API JDBC- Présentation de JDBC et des pilotes- Connexion à une base de données- Exécution de requêtes SQL- Exploitation des résultats d’une requête- Support des transactionsPrésentation hibernate- Positionnement d'Hibernate, présentation de l'architecture- Installation d'Hibernate : rôle des principales librairies- Configuration de base : hibernate.cfg.xml- Définition d'une classe persistante ( POJO) et de son mapping sur une table- Notions de session et de transaction- Premier exemple de persistance d’objetsMapping des objets- Unicité des objets, les différents générateurs d'id- Définition des propriétés de l'objet, les types Hibernate- Gestion des sessions : la SessionFactory- Cycle de vie d'un objet Hibernate- Utilisation des transactions pour créer, modifier supprimer des objets persistants- Traitement des exceptions HibernateMapping des relations- Gestion des associations 1-1, 1-N, N-1 et N-N- Traitement de la navigation : mono et bidirectionnelle- Prise en compte de l'intégrité référentielle- Gestion de la composition- Les opérations cascadées- Gestion de l’héritage : les trois stratégies possibles- Critères de choix- Analyse des opérations SQL engendrées et optimisationFonctionnalités de requêtage- Typologie des techniques disponibles- Requêtes HQL, les clauses from, select, where- Association et jointure en HQL- Requêtes HQL polymorphiques- Les sous requêtes HQL- Requêtes par critères : utilisation de l'API Criteria- SQL natif, utilisation de l'interface SQLQueryLes aspects avancés d'hibernate- Initialisation paresseuse : le lazy loading- Gestion des caches et des pools de connexions- Transactions JTA- Les « long life sessions »- Mapping par annotations