Découvrir JPA Hibernate
Rappels JDBC et pattern DAO (Data Access Object)
Frameworks ORM (Object Relational Mapping) : apports
JPA (Java Persistence API) : spécification, implémentations
Hibernate : historique, versions, fonctionnalités
Dépendances, références
Configuration globale du projet
Architecture des objets Hibernate / équivalents JPA
Atelier : Mise en place de l'environnement, création d'un application utilisant JPA/Hibernate, fichier de configuration global
Réaliser le mapping des entités et des opérations
Mapping des tables et gestion des clés primaires (simples, composées)
Mapping des types de bases, propriétés des colonnes
Gestion de la concurrence : optimistic (versioning), pessimistic
Gestion des relations : OneToMany/ManyToOne, OneToOne, ManyToMany
Paramétrage des cascades
Gestion des collections : Map, Set, List,...
Mapping de l'héritage
Stratégies de chargement : Lazy ou Eager
Requêtes nommées
Gestion des procédures stockées
Récupération de la session d'Hibernate et interrogation/modification de données
Dao disponible et méthodes essentielles
Atelier : Réalisation d'un schéma global de mapping d'une base de données, opérations CRUD (Create Read Update Delete)
Maîtriser le langage à requêtes objet (JPQL / HQL)
Hibernate Query Language : présentation, fonctionnalités
Sélections de base, filtres
Jointures complexes
Fonctions d'agrégation, de chaine, ...
Gestion des chargements Lazy
Requêtes natives SQL
Atelier : Réalisation de requêtes complexes
Eléments avancés de Hibernate
Cycle de vie des entités et validation
Intercepteurs, Event-listeners
Configuration avancée : performance et fonctionnalités
Utilisation du cache de niveau 2
Inversion de contrôle avec Spring ORM
Atelier : Gestion du cache et cohabitation Spring / Hibernate