Formations informatiques à Grenoble et Sophia Antipolis

Formation JAVA/JAKARTA EE Gérer la persistance des données avec JPA/Hibernate

Objectifs

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.

Pré-requis

Avoir des connaissances en Java.

Participants

Développeurs et chefs de projet informatique.

Programme de formation

JAVA/JAKARTA EE Gérer la persistance des données avec JPA/Hibernate

ORM, JPA ET HIBERNATE : DE QUOI PARLE-T-ON ?

  1. Rappels rapides sur l'API JDBC

  2. Quelles sont les limites de JDBC ?

  3. Qu'est-ce qu'un ORM et qu'est-ce qu'il apporte de plus ?

  4. La solution d'ORM standardisée par Java EE

    • JPA (Java Persistance API)
  5. Liens avec l'API EJB 3

  6. Liens entre Hibernate et JPA

  7. Les autres implémentations JPA

    • Open JPA et Eclipse LINK

DÉMARRAGE D'HIBERNATE

  1. Déploiement d'une base de données MySQL

  2. Démarrage du logiciel Hibernate

  3. Définir le mapping via un fichier XML (non standardisé)

  4. Utilisation de l'API native Hibernate

  5. Travaux pratiques

    • Définition et utilisation d'un mapping XML avec l'API Hibernate
  6. Définir le mapping via les annotations JPS

  7. Utilisation de l'API JPA

  8. Travaux pratiques

    • Définition et utilisation d'un mapping avec JPA
  9. Comparaison Mapping XML VS Mapping JPA

  10. Comparaison API native Hibernate VS API JPA

  11. Outils JPA/Hibernate proposé par Eclipse

  12. Travaux pratiques

    • Utilisation des outils proposés par Eclipse

CONFIGURATION DU MOTEUR JPA ET DES LOGS

  1. Configuration JPA

  2. Intégration avec Log4J

  3. Activation de certains Logger

    • Ordres SQL produits, paramètres...
  4. Travaux pratiques

    • Journalisation des requêtes SQL générées par l'ORM JPA

LE MAPPING JPA

  1. Mapping des assocations unidirectionnelles sans table d'association

    • OneToOne, ManyToOne et OneToMany
  2. Maping des associations unidirectionnelles avec table d'association

    • OneToOne, ManyToOne, OneToMany et ManyToMany
  3. Mapping des associations bidirectionnelles

  4. Mapping des collections

  5. Travaux pratiques

    • Mapping d'un ensemble de classes relatives à la gestion d'un site de vente en ligne
  6. Mapping de l'héritage via les trois stratégies disponibles

  7. Travaux pratiques

    • Mapping des liens d'héritage préents dans notre modèle de classes
  8. Gestion des cascades

REQUÊTES JPQL (JAVA PERSISTENCE QUERY LANGUAGE)

  1. Comparatif JPQL et HQL (Hibernate Query Language)

  2. Requêtes JPQL simples

  3. Requêtes JPQL polymorphiques

  4. Utilisation de fonctions d'agrégation

  5. Sous-requêtes JPQL

  6. Gestion des différents types de jointures

  7. Travaux pratiques

    • Production et exécution de différents types de requête afin d'extraire des commandes de la base de données
  8. Utilisation de l'API de criteria

  9. Travaux pratiques

    • Mise en œuvre d'un criteria

L'API JPA

  1. Définition et utilisation de paramètres nommés, "Named parameters"

  2. Définition et utilisation de requêtes nommées, "Named queries"

  3. Travaux pratiques

    • Mise en œuvre de "Named parameters" et de "Named queries"
  4. Gestion des requêtes par lots, "Batch queries"

  5. Travaux pratiques

    • Réalisation de "Batch queries"
  6. Cycle de vie d'un objet persistant

  7. API de manipulation de vos objets persistants

  8. Travaux pratiques

    • Utilisation de l'API JAP
  9. Rappels sur le concept de transaction

  10. Gestion des transactions avec JPA

  11. Travaux pratiques

    • Utilisation de transactions

LES DIFFÉRENTES STRATÉGIES DE CHARGEMENT

  1. Introduction

  2. Chargement paresseux, "Lazy loading"

  3. Rapatriement immédiat, "Eager fetching"

  4. Chargement explicite

  5. Bonnes pratiques

UTILISATION DU CACHE DE PREMIER NIVEAU

  1. Différences entre les méthodes load et get

  2. Différences entre les méthodes save et persist

  3. Lecture et écriture par lots

  4. Suppression de données dans le cache

MISE EN ŒUVRE D'UN CACHE DE SECOND NIVEAU

  1. Aspects Généraux

  2. Utilisation de l'implémentation Ehcache

  3. Utilisation d'un cache de requêtes

  4. Autres types de caches

Durée
3 jours
Lieux
Meylan Moirans Sophia Dans vos locaux Classe distancielle
Groupe de 8 personnes maximum
Demandez un devis
Cette thématique vous intéresse ?
Nos experts conçoivent votre formation sur-mesure On adore les moutons à 5 pattes !
Formations dans la même thématique