Hibernate
Implémenter la couche de persistance d'une application Java/JEE avec Hibernate
Référence : HIBERNATE-03
Durée : 3 jour(s)

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

Présentation

L'intervention réussie sur plusieurs projets ayant souffert de problèmes de performance procure aux consultants Zenika une expérience précieuse sur ce sujet, concrétisée par la mise à disposition de la librairie ZenTracker sous licence LGPL permettant de mesurer l'activité sous-jacente d'Hibernate.

Objectifs
  • Assimiler les concepts du mapping objet / relationnel
  • Savoir maîtriser les principales fonctionnalités d'Hibernate
  • Réaliser la couche de persistance d'une application JEE
  • Acquérir les bonnes pratiques de développement et d'architecture

 Contenu

Introduction

  • La persistance transparente grâce aux outils de Mapping Objet/Relationnel (ORM)
  • Comparaison avec les techniques JDBC standard en terme de coûts et de fiabilité

Mise en place d'Hibernate

  • Description du packaging et des dépendances vers d'autres jars
  • Présentation de l'installation et des différentes techniques de configuration
  • Configuration en environnement JEE
  • Mise en place de l'outil Hibernate Tool

La configuration

  • Les fichiers hbm.xml, ou le pont entre le monde objet et le monde relationnel
  • Mise en place des annotations
  • L'identité : garant de la correspondance entre instances et enregistrements en base de données
  • Importance et utilisation des méthodes equals() et hashCode()
  • Quelle stratégie de génération d'identifiants

Manipulation de POJO

  • Il ne s'agit plus d'INSERT ou d'UPDATE, mais de cycle de vie d'un objet
  • Présentation de la SessionFactory et de la Session
  • Transiant, Persistant, Détaché, Entité, Valeur ou le vocabulaire Hibernate
  • La démarcation transactionnelle ou la garantie d'opérations ACID
  • Les opérations CRUD, les premières interactions simples avec la base de données

Relations entre entités

  • Il ne s'agit plus d'un objet, mais d'un graphe d'objets liés par des relations
  • Les 3 relations du monde objet : 1-n, n-m et 1-1 et leur correspondance en terme relationnel
  • Présentation des différents types de collection (set, bag, map, list, array) et des critères permettant de choisir
  • Choix du sens de la relation et du type (Uni-directionnel VS bi-directionnel)
    • Correspondance avec le code Java
  • L'attribut cascade et les précautions à prendre

Héritage

  • Présentation des stratégies de mapping pour la gestion de l'héritage
  • Avantages et inconvénients de chaque solution

Les composants

  • Notion de composants en opposition aux entités
  • Les composants simples
  • La collection de valeurs et de composants

Les requêtes

  • Présentation des API de requêtes (Criteria, SQL, Exemple, HQL)
  • Pertinence et choix de l'API la plus adéquate
  • Ajout de contraintes, de tris, d'ordres
  • Parcours de relations, jointures implicites et jointures ouvertes
  • Les requêtes scalaires pour optimiser les performances
  • Externaliser une requête et choix d'une technique de binding de paramètres
  • Comment utiliser les spécificités d'une base de données (cas du « connect by prior » d'Oracle)

Optimisation

  • Les mises à jour groupées
  • Initialisation paresseuse ou le chargement à la demande
  • Modification dynamique de la stratégie de fetching définie au niveau du mapping
  • Utilisation des caches de niveau 1, de niveau 2 et de requêtes
  • Quel cache est mis à jour et par quelle action ?

Architecture

  • La couche de persistance et le pattern DAO
  • Intégration dans une architecture Web
  • Gestion des sessions Hibernate et transactions
    • Le pattern OpenSessionInViewFilter
    • Intégration avec Spring
* 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
- JPA avec Hibernate




Sessions 2010
Du 11  au 13 janvier
Du 08  au 10 février
Du 15  au 17 mars
Du 26  au 28 avril
Du 17  au 19 mai
Du 21  au 23 juin
Du 14  au 16 juillet
Du 08  au 10 septembre
Du 11  au 13 octobre
Du 01  au 03 novembre
Du 13  au 15 décembre