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
Back to Développement Java EE