Nos solutions


Accueil  > Nos services > Formation  > Offre catalogue 2008

Offre catalogue 2008

Hibernate

REF : J-HIB
OBJECTIFS DU COURS
  • Découvrir les problématiques liées à la persistance des données dans une application Java
  • Maîtriser les fonctionnalités courantes d'Hibernate
  • Comprendre les fonctionnalités avancées d'Hibernate
MISE EN PRATIQUE
Ce cours comporte de nombreux travaux pratiques illustrant la mise en place et l'utilisation d'Hibernate au sein d'une application Java (J2SE/J2EE).
PROFIL DES PARTICIPANTS
Architecte technique
Équipe projet
PRE-REQUIS
Bonne maîtrise du langage Java. Notions de base de SQL.
DUREE
3 jours
TARIF
1 440 * € (HT)
2 320* CHF
*Déjeuners inclus
Télécharger le programme

PRÉSENTATION

Introduction

Panorama des solutions de persistance.
La communauté Hibernate. Compatibilité J2SE/J2EE.

Configuration

Les méthodes de configuration. Les pools de connexions internes et externes. L'utilité des SQL Dialects.
Les librairies requises par Hibernate.
Les fichiers hibernate-cfg.xml et hibernate.properties.
Travaux pratiques : installation et configuration d'Hibernate.

Écritures des mappings

Les contraintes imposées sur les classes.
La génération des mappings à l'aide d'outils.
Les 3 stratégies de mapping possibles.

Utilisation de base

Manipulation des POJO. Création de l'objet Configuration. Cycle de vie d'une session Hibernate.
Opérations courantes : création, lecture, mise à jour, suppression.
Gestion de l'identité d'un objet. Comparaison des différents générateurs d'identifiant proposés.
Travaux pratiques : mise en place d'un premier mapping objet-relationnel avec Hibernate.

CONCEPTS OBJETS AVEC HIBERNATE

Relations

La différence entre Entité et Valeur. La mise en place et l'utilisation des associations 1:n / n:n et 1:1.
L'utilité des composants. L'utilité des collections de valeurs. La mise en place du cascading.
La gestion des relations unidirectionnelles.
La gestion des relations bidirectionnelles. Bonnes pratiques liées à l'utilisation de la bidirectionnalité.
Travaux pratiques : mise en place des différents types d'associations (1:n, n:n, 1:1, composition, bidirectionnalité).

Héritage

Les 3 principes de mise en oeuvre de l'héritage : 1 table par sous-classe, 1 table pour toute la hiérarchie, 1 table par classe concrète.
Les avantages et inconvénients de chaque technique.
Travaux pratiques : mise en place de l'héritage.

Hibernate et les collections

Quelle collection utiliser lors d'une relation 1:n ou n:n ?
Mise en place des collections de type Set, Bag, List et Map.

REQUÊTAGE

Mise en oeuvre

Le choix entre HQL / API Criteria et SQL Direct.
Manipulation des interfaces Query / SQLQuery et Criteria.
La création et l'exécution de requêtes.
Le binding des paramètres.

Fonctionnalités

L'écriture de requêtes polymorphes.
L'ajout de clauses.
Les opérateurs disponibles.
Le tri et le groupage.
Le parcours d'une association.
Jointures implicites et explicites. Requêtes nommées.
Travaux pratiques : utilisation du requêtage.

FONCTIONNALITÉS AVANCÉES

Performances

Notion de proxy.
Le lazy loading pour des collections et pour des objets ordinaires.
Utilisation du "FetchMode" pour le requêtage.
Le cache de niveau 1 (cache de session).
Le cache de niveau 2 : comparatif des implémentations disponibles.
L'intérêt du cache de requêtes.
Travaux pratiques : utilisation des caches.

Autres aspects

La synchronisation entre session et connexion.
L'utilité de la méthode flush().
Différences entre les transactions Hibernate, JDBC et JTA.
Verrouillage optimiste et pessimiste.
Gestion de la session par LocalThread.
Versioning des enregistrements.
Liste de bonnes pratiques.
 
PARIS
11-13 fév
14-16 avril
9-11 juin
20-22 août
20-22 oct
8-10 déc
BORDEAUX
20-22 fév
7-9 avril
16-18 juin
4-6 août
20-22 oct
15-17 déc
LYON
11-13 fév
1-3 avril
16-18 juin
22-24 sept
26-28 nov
MEDITERRANEE
11-13 fév
1-3 avril
16-18 juin
22-24 sept
26-28 nov
NANTES
11-13 fév
14-16 avril
9-11 juin
20-22 oct
8-10 déc
TOULOUSE
28-30 janv
26-28 mars
24-26 juin
25-27 août
15-17 oct
2-5 déc
SUISSE
4-6 fév
7-9 avril
16-18 juin
15-17 sept
3-5 nov
MAROC
Nous consulter