JPA 2 - Conception et développement - J-JPA

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
Modèle architecture logicielle en 5 couches
Modélisation de la couche métier et persistance: Domain Object, DAO et VO
Structuration avec les Patterns Method Factory, Abstract Factory

ARCHITECTURE TECHNIQUE DE JPA
Spécifications et implémentations
Contexte de persistance
Mise en place de l’environnement
Critères de choix entre Hibernate et EJB3
Présentation des outils de la plate-forme 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

PRÉPARATION DES REQUÊTES
Utilisation des requêtes nommées
Gestion du cache de requêtes

GESTION DES TRANSACTIONS
Transactions locales
Transactions gérées par le conteneur avec JTA
Gestion par annotation
Approfondir le mécanisme des transactions distribuées

Recherches

Tout le site Le catalogue

Liens directs