JPA avec Hibernate - Formations Zenika

publicité
JPA avec Hibernate
Durée 3 jour(s) (HIBERNATE-03)
La persistance des données d'une application Java/JEE
Description
Hibernate est l'outil de mapping objet/relationnel le plus connu du monde Java. Nous verrons comment écrire une couche de persistance
avec l'API JPA. Cette formation aborde les nouveaxu concepts de JPA 2.1 et Hibernate 5. Elle donne les bonnes pratiques pour accéder à
une base de données relationnelle de manière performante et maintenable.
Objectifs
Assimiler les concepts et les enjeux du mapping objet /
relationnel
Maîtriser les principales fonctionnalités de JPA
Développer et intégrer une couche de persistance dans
une application Java
Public
Architecte
Développeur
Prérequis
Connaissance de Java. Notions sur Maven et Spring.
Répartition
50% Théorie, 50% Pratique
Programme
Introduction
Concepts et enjeux de la persistance des données
De JDBC aux ORM
Standardisation des ORM : naissance de la spécification Java
Persistance API
Hibernate : ses origines, son écosystème
Lazy-loading d'une relation to Many
Lazy-loading d'une relation to One
Utilisation des proxies: les pièges à éviter
Le problème du 1+N Select et ses solutions
Optimisation
Le cache de second niveau
Les statistiques
Mise en place
Installation du produit et paramétrage des fichiers de
configurations
Pool de connexions
Traces SQL
Premier mapping
Mapping avancé
Le verrouillage optimiste et pessimiste
Les clés multiples
Spring et architecture applicative
Découpage en couche et design pattern DAO
La portée de l'EntityManager et de la transaction
Intégrer Hibernate/JPA dans une application Spring
Génération des DAO avec Spring Data JPA
Mapper un objet Java simple sur table
Configuration par convention, par annotation et par XML
Générateur d'identifiants
Manipulation
EntityManager: rôle, initialisations
Transiente, attachée, détachée: le cycle de vie d'une entité
Les transactions
Create, Read, Update, Delete avec JPA: les opérations de base
de l'EntityManager
Le flush
Les relations
Relation One to Many/Many to One
Relation Many to Many
Relation One to One
Relation bidirectionnelle
Cascading
L'héritage
Stratégie un seule table
Stratégie une table par classe concrète
Stratégie une table par classe
Avantages et inconvénients de chaque stratégie
Héritage technique avec MappedSuperClass
Les composants
Notion d'entité et de valeur
Mapper un classe avec Embedded
Collection de composants
Le requêtage
Un mode de requêtage du monde objet basé sur SQL
Exploration des opérateurs du langage JPQL
Injection des paramètres dans les requêtes
Requêtage dynamique avec l'API Criteria
Génération du meta modèle
Le lazy-loading
Tests
Comment tester un DAO JPA ?
Utilisation de Spring Test
Introduction à DBUnit
Téléchargement
Study collections