Développement Java EE

JPA 2 – Conception et développement

Objectifs

  • Comprendre comment concevoir la couche de persistance avec JPA
  • Savoir réaliser des mappages d’objets persistants
  • Maîtriser le mappage de collections, de relations et d’objets complexes
  • Savoir gérer les transactions

Programme

Architecture logicielle
  • Les architecture JEE : Modèle n-tiers et architectures distribuées
  • Les patterns de conception et de développement : Domain Object, DTO, Singleton, Prototype, DAO et VO
  • Structuration avec les Patterns Method Factory, Abstract Factory
Architecture technique de JPA
  • Introduction à la persistance persistence
  • Introduction à l'ORM
  • Les spécifications et les implémentations JEE
  • Critères de choix entre Hibernate et EJB3
  • Outils et IDEs : Maven et Eclipse
  • Création d'un projet aux normes JPA
Mapping sur des relations unidirectionnelles
  • Relation unidirectionnelle 1-1
  • Relation unidirectionnelle 1-N
  • Gestion des relations d'égalité dans une relation 1-N
  • Mapping sur une table de jointure
Mappings sur des relations bidirectionnelles
  • Relation 1-N Bidirectionnelle entre deux classes différentes
  • Relation 1-N Récursive
  • Association bidirectionnelles N-N
Mappings des objets du domaine
  • Mapping de relations d'agrégation
  • Component, composite Key et mapping sur des relations d'agrégation
  • Mapping 1-1 sur un composant
  • Mapping 1-N sur un composant
  • Mapping ternaire et plus
  • Mapping avec une clé composite
  • Mapping avec un composant dynamique
Mappings d'une relation d'héritage
  • Stratégies de mapping d'une relation d'héritage
  • Mapping une table par hiérarchie de classe (table per class hierarchy)
  • Mapping une table par classe fille (table per subclass)
  • Mapping une table par classe concrète (table per concrete class)
  • Mapping avec Polymorphisme implicite
  • Stratégies de mapping d'une relation d'héritage
Mapping des collections et types objets complexes
  • Présentation des clés composites complexes
  • Mapping d'une propriété sur des données complexes
  • Mapping sur une vue de base de données
Effectuer des requêtes avec JPQL
  • Le langage JPQL
  • Utilisation des objets Query
  • Utilisation des clauses et fonctions
  • Passage de paramètres et construction dynamique des requêtes
  • Le langage JPAQL
  • Utilisation des objets Query
Associations et jointures
  • Les différents types de jointure
  • Chargement avec FETCH
  • Requêtes polymorphiques
Requêtes nommées et cache
  • Utilisation des requêtes nommées
  • Gestion du cache de requêtes
Gestion des transactions
  • Transactions locales
  • Présentation de la spécification JTA
  • Transactions gérées par le conteneur avec JTA
  • Utilisation par annotation
  • Isolation et propagation des transactions
Please login to get access to the quiz
Apprenez à déployer, gérer et configurer un système de stockage et OpenStack (Prev Lesson)
(Next Lesson) Maven 3, gérer le cycle de vie des projets Java
Back to Développement Java EE