Détails :
Durée :
3 Jours
Prérequis :
Public :
Objectifs :
Au terme de cette formation, vous serez en mesure de :
- Comprendre les concepts d'ORM, JPA, Hibernate et les alternatives à JDBC
- Démarrer avec Hibernate et les mappings XML et JPA
- Configurer JPA et les logs pour une meilleure intégration et surveillance
- Maîtriser les techniques de mapping JPA pour modéliser les relations entre les entités
- Utiliser les requêtes JPQL et l'API de Criteria pour interagir avec la base de données
- Manipuler les objets persistants et gérer les transactions avec l'API JPA
- Optimiser la couche de persistance en utilisant différentes stratégies de chargement et de mise en cache
Support :
Le support de cours en ligne
sur notre serveur de ressources pédagogiques
KooR.fr
Demande de devis :
Devis :
Si vous souhaitez être contacté et obtenir plus d'informations sur cette formation
veuillez remplir notre formulaire de mise en relation.
Cursus de formation :
Programme détaillé de la formation :
- Rappels rapides sur l'API JDBC
- Quels sont les limites de JDBC
- Qu'est-ce qu'un ORM et qu'est-ce qu'il apporte de plus ?
- La solution d'ORM standardisée par Java EE : JPA (Java Persistance API)
- Liens avec l'API EJB 3
- Liens entre Hibernate et JPA
- Les autres implémentations JPA : Open JPA et Eclipse LINK
- Déploiement d'une base de données MySql
- Démarrage du logiciel Hibernate
- Définir le mapping via un fichier XML (non standardisé)
- Utilisation de l'API native Hibernate
- Définir le mapping via les annotations JPS
- Utilisation de l'API JPA
- Comparaison Mapping XML VS Mapping JPA
- Comparaison API native Hibernate VS API JPA
- Outils JPA/Hibernate proposés par Eclipse
- Configuration JPA
- Intégration avec Log4J
- Activation de certains Logger (ordres SQL produits, paramètres, ...)
- Mapping des associations unidirectionnelles sans table d'association (OneToOne, ManyToOne et OneToMany)
- Mapping des associations unidirectionnelles avec table d'association (OneToOne, ManyToOne, OneToMany et ManyToMany)
- Mapping des associations bidirectionnelles
- Mapping des collections
- Mapping de l'héritage via les trois stratégies disponibles
- Gestion des cascades
- Comparatif JPQL (Java Persistence Query Language) et HQL (Hibernate Query Language)
- Requêtes JPQL simples
- Requêtes JPQL polymorphiques
- Utilisation de fonctions d'agrégation
- Sous-requêtes JPQL
- Gestion des différents types de jointures
- Utilisation de l'API de criteria
- Définition et utilisation de paramètres nommés : « Named parameters »
- Définition et utilisation de requêtes nommées : « Named queries »
- Gestion des requêtes par lots : « Batch queries »
- Cycle de vie d'un objet persistant
- API de manipulation de vos objets persistants
- Rappels sur le concept de transaction
- Gestion des transactions avec JPA
- Introduction
- Chargement paresseux (Lazy loading)
- Rapatriement immédiat (Eager fetching)
- Chargement explicite
- Bonnes pratiques
- Différences entre les méthodes load et get
- Différences entre les méthodes save et persist
- Lecture et écriture par lots
- Suppression de données dans le cache
- Aspects Généraux
- Utilisation de l'implémentation Ehcache
- Utilisation d'un cache de requêtes
- Autres types de caches
ORM, JPA et Hibernate : de quoi parle-t-on ?
Démarrage d'Hibernate
Configuration du moteur JPA et des logs
Le mapping JPA
Requêtes JPQL
L'API JPA
Les différentes stratégies de chargement
Utilisation du cache de premier niveau
Mise en oeuvre d'un cache de second niveau