Formations Architecture

Durée 3 jours • Prix (HT) 1590€

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

Mise en place

  • Installation du produit et paramétrage des fichiers de configurations
  • Pool de connexions
  • Traces SQL

Premier mapping

  • 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

  • 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

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

Tests

  • Comment tester un DAO JPA ?
  • Utilisation de Spring Test
  • Introduction à DBUnit