JPA - Hibernate
Gérer les données d'une application Java/JEE avec JPA
Référence : HIBERNATE-JPA-03
Durée : 3 jour(s)

 PROCHAINE SESSION
 
 Date :   Du 21  au 23 April
 Lieu :  Zenika - Paris
 Prix : 1490 € 1290 € (HT)
 Formateur :  
 Supports :  
 
Bulletin d'inscription  +33(0)1 45 26 19 15
Autres Dates et Lieux

Présentation

Cette formation vous permettra de comprendre les limitations de JPA 1.0 et les nouveautés de JPA 2.0. Le concepteur du cours, Laurent Delvaux a animée une conférence au Breizh JUG sur le sujet. Pour voir la vidéo sur Parleys

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 JavaSE ou JavaEE

 Contenu

Introduction et Architecture

  • Concepts et enjeux de la persistance des données
  • Les différents modes d'accès aux données : simple appels JDBC, les EJB1 et EJB2 entités, les autres ORM
  • Standardisation des ORM : naissance de la spécification Java Persistance API

Mise en oeuvre d'une implémentation

  • Les produits implémentant la spécification JPA
    • Hibernate
    • Oracle TopLink
  • Autres implémentations : BEA Kodo, OpenJPA, ...
  • Installation du produit et paramétrage des fichiers de configurations

Intégration dans l'architecture

  • Intégration dans une application JEE en mode conteneur
  • Intégration dans le conteneur léger Spring
  • Intégration directe dans une application WEB

Définition d'une entité

  • Pont entre le monde objet et le monde relationnel
  • Une entité est avant tout un POJO matérialisé par quelques éléments : une classe Java, une définition de mapping et une clé primaire
  • Comparaison entre beans Entité et beans Session
  • Simplification d'accès à l'intérieur et à l'extérieur d'un container JEE

Manipulation d'entités

  • Il ne s'agit plus d'opérations isolées de créations ou de suppressions mais d'opérations gérées par un cycle de vie
  • Introduction du contexte de persistance reliant les entités à la base de données : l'EntityManager
  • Détail des différents états d'une entité : neuf, managé, détaché, supprimé
  • Mise en relation des différents états d'une entité avec les deux types de contexte de persistance : portée d'une transaction ou portée étendue
  • Réalisation des opérations CRUD de manipulation d'une entité avec l'API EntityManager
  • Utilisation des événements générés lors des transitions d'états du cycle de vie

Exploration des mappings

  • Mise en place facilitée par les annotations JavaSE 5
  • Alternative ou complémentarité des fichiers de configuration XML
  • L'identité : le garant de la correspondance unique entre instances d'objets et enregistrements en base
  • L'importance du choix de la stratégie de génération d'identifiants

Relation entre entités

  • Présentation des types de relation : 1-1, 1-n, n-1 et n-m
  • Choix du sens des relations : unidirectionnelle VS bidirectionnelle
  • La persistance en cascade
  • Les initialisations paresseuses : lazy-loading

Héritage

  • Présentation des trois types de stratégie d'héritage entre entités
  • Avantages et inconvénients de chaque mode
  • Les autres modes d'héritage

Le langage de requête JPQL

  • Un mode de requêtage du monde objet basé sur SQL
  • Différence avec le langage de requêtes SQL natives
  • Exploration des opérateurs du langage JPQL
  • Présentation du mécanisme des requêtes dynamiques et des requêtes statiques
  • La puissance des requêtes polymorphiques
  • Améliorer les performances avec l'opérateur «fetch»

Transactions et accès concurrents

  • Les propriétés d'une transaction
  • Mise en place des transactions : « JTA » et « Resource-local »
  • Les techniques de verrouillage : « Optimistic locking » et « Explicit read and write lock »
* Le déjeuner est compris dans le tarif.
** Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment.
 training@zenika.com
 
DownloadTélécharger la fiche !
 
Suggestions
- Hibernate performance
- Hibernate




Auteur du cours
 
Laurent Delvaux est formateur certifié, ainsi qu'évangeliste BIRT et met régulièrement en oeuvre cette technologie sur des projets d'envergures. Scrum Master et agiliste convaincu, il aide les équipes de développement à s'auto-structurer et à augmenter leur productivité à l'aide de Scrum. A ce titre, il est membre du bureau du French Scrum User Group.


Sessions 2010
Du 06  au 08 January
Du 08  au 10 February
Du 08  au 10 March
Du 21  au 23 April
Du 03  au 05 May
Du 02  au 04 June
Du 05  au 07 July
Du 04  au 06 August
Du 08  au 10 September
Du 11  au 13 October
Du 01  au 03 November
Du 06  au 08 December