
Accueil > Formations > Développement et méthodes > JAVA EE Gérer la persistance des données avec JPA/Hibernate
Formation JAVA EE Gérer la persistance des données avec JPA/Hibernate
Domaine : Développement et méthodes
DURÉE
3 jour(s)
OBJECTIFS
Comprendre ce qu'est un ORM (Object Relational Mapping), les liens entre la notion d'ORM, l'API JPA et le logiciel Hibernate.
Pré-requis
Avoir des connaissances en Java.
Participants
Développeurs et chefs de projet informatique.
coût
Nous contacter pour une formation sur mesure ou en intra
LIEUx de formation
Notre centre de formation à Sophia AntipolisOu sur votre site en formation intra
PROGRAMME DE FORMATION
JAVA EE Gérer la persistance des données avec JPA/Hibernate
ORM, JPA et Hibernate : de quoi parle-t-on ?
Rappels rapides sur l'API JDBC
Quelles 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)
Quelles 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émarrage d'Hibernate
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
Travaux pratiques (Définition et utilisation d'un mapping XML avec l'API Hibernate)
Définir le mapping via les annotations JPS
Utilisation de l'API JPA
Travaux pratiques (Définition et utilisation d'un mapping avec JPA)
Comparaison Mapping XML VS Mapping JPA
Comparaison API native Hibernate VS API JPA
Outils JPA/Hibernate proposé par Eclipse
Travaux pratiques (Utilisation des outils proposés par Eclipse)
Démarrage du logiciel Hibernate
Définir le mapping via un fichier XML (non standardisé)
Utilisation de l'API native Hibernate
Travaux pratiques (Définition et utilisation d'un mapping XML avec l'API Hibernate)
Définir le mapping via les annotations JPS
Utilisation de l'API JPA
Travaux pratiques (Définition et utilisation d'un mapping avec JPA)
Comparaison Mapping XML VS Mapping JPA
Comparaison API native Hibernate VS API JPA
Outils JPA/Hibernate proposé par Eclipse
Travaux pratiques (Utilisation des outils proposés par Eclipse)
Configuration du moteur JPA et des logs
Configuration JPA
Intégration avec Log4J
Activation de certains Logger (Ordres SQL produits, paramètres...)
Travaux pratiques (Journalisation des requêtes SQL générées par l'ORM JPA)
Intégration avec Log4J
Activation de certains Logger (Ordres SQL produits, paramètres...)
Travaux pratiques (Journalisation des requêtes SQL générées par l'ORM JPA)
Le mapping JPA
Mapping des assocations unidirectionnelles sans table d'association (OneToOne, ManyToOne et OneToMany)
Maping des associations unidirectionnelles avec table d'association (OneToOne, ManyToOne, OneToMany et ManyToMany)
Mapping des associations bidirectionnelles
Mapping des collections
Travaux pratiques (Mapping d'un ensemble de classes relatives à la gestion d'un site de vente en ligne)
Mapping de l'héritage via les trois stratégies disponibles
Travaux pratiques (Mapping des liens d'héritage préents dans notre modèle de classes)
Gestion des cascades
Maping des associations unidirectionnelles avec table d'association (OneToOne, ManyToOne, OneToMany et ManyToMany)
Mapping des associations bidirectionnelles
Mapping des collections
Travaux pratiques (Mapping d'un ensemble de classes relatives à la gestion d'un site de vente en ligne)
Mapping de l'héritage via les trois stratégies disponibles
Travaux pratiques (Mapping des liens d'héritage préents dans notre modèle de classes)
Gestion des cascades
Requêtes JPQL (Java Persistence Query Language)
Comparatif JPQL 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
Travaux pratiques (Production et exécution de différents types de requête afin d'extraire des commandes de la base de données)
Utilisation de l'API de criteria
Travaux pratiques (Mise en ½uvre d'un criteria)
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
Travaux pratiques (Production et exécution de différents types de requête afin d'extraire des commandes de la base de données)
Utilisation de l'API de criteria
Travaux pratiques (Mise en ½uvre d'un criteria)
L'API JPA
Définition et utilisation de paramètres nommés, "Named parameters"
Définition et utilisation de requêtes nommées, "Named queries"
Travaux pratiques (Mise en ½uvre de "Named parameters" et de "Named queries")
Gestion des requêtes par lots, "Batch queries"
Travaux pratiques (Réalisation de "Batch queries")
Cycle de vie d'un objet persistant
API de manipulation de vos objets persistants
Travaux pratiques (Utilisation de l'API JAP)
Rappels sur le concept de transaction
Gestion des transactions avec JPA
Travaux pratiques (Utilisation de transactions)
Définition et utilisation de requêtes nommées, "Named queries"
Travaux pratiques (Mise en ½uvre de "Named parameters" et de "Named queries")
Gestion des requêtes par lots, "Batch queries"
Travaux pratiques (Réalisation de "Batch queries")
Cycle de vie d'un objet persistant
API de manipulation de vos objets persistants
Travaux pratiques (Utilisation de l'API JAP)
Rappels sur le concept de transaction
Gestion des transactions avec JPA
Travaux pratiques (Utilisation de transactions)
Les différentes stratégies de chargement
Introduction
Chargement paresseux, "Lazy loading"
Rapatriement immédiat, "Eager fetching"
Chargement explicite
Bonnes pratiques
Chargement paresseux, "Lazy loading"
Rapatriement immédiat, "Eager fetching"
Chargement explicite
Bonnes pratiques
Utilisation du cache de premier niveau
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
Différences entre les méthodes save et persist
Lecture et écriture par lots
Suppression de données dans le cache
Mise en ½uvre d'un cache de second niveau
Aspects Généraux
Utilisation de l'implémentation Ehcache
Utilisation d'un cache de requêtes
Autres types de caches
Utilisation de l'implémentation Ehcache
Utilisation d'un cache de requêtes
Autres types de caches
dates des formations a grenoble
dates des formations a SOPHIA ANTIPOLIS
formations associées
- JAVA 1B JAVA - Programmation Orientée Objet en Java : les fondamentaux
- JAVA 1B JAVA - Programmation Orientée Objet en Java : les compléments
- JAVA 1B JAVA Gérer la persistance des données avec JPA/Hibernate
- JAVA 2B JAVA Développement Web Back End avec Java EE et Web Services (RESTful et SOAP)
- JAVA 2B JAVA - Développement d'applications mobiles avec Android et Android Studio
- JAVA 4B JAVA - Préparation et passage de la certification
- JAVA Nouveautés de Java 7 et 8
- JAVA Perfectionnement
- JAVA EE Mise en oeuvre de Services Web
- JAVA EE Spring Framework
- JAVA SE Eclipse : plugins et RCP
- JAVA SE Java / Corba
- JAVA SE Les nouveautés du J2SE 6.0
- JAVA SE Mise en oeuvre ANT
- JAVA SE Optimisations de code Java
- JAVA SE Programmation Swing
- JAVA SE Tests et intégration de code Java
- Serveurs d'applications J2EE Administration du serveur JBoss
- Serveurs d'applications J2EE Administration du serveur Tomcat
- Serveurs d'applications J2EE Administration WebSphere 6.0