Icones réseaux sociaux de Zenika Contacter Zenika Accéder au facebook Zenika Accéder au blog Zenika Accéder au twitter ZenikaIT
chargement...

Articles

Formation Hibernate

Implémenter la couche de persistance d'une application Java/JEE avec Hibernate

Référence : HIBERNATE-03
Durée : 3 jour(s)

Lieu Date de début Prix (HT) Formateur Réserver
Rennes 21 mai 2012  1490 € drapeau  Grégory Le Bonniec Envoyer
Paris 25 juin 2012  1490 € Envoyer
Lyon 09 juillet 2012  1490 € Envoyer
Paris 25 juillet 2012  1490 € drapeau  Olivier Huber Envoyer
Rennes 29 août 2012  1490 € drapeau  Grégory Le Bonniec Envoyer
Paris 12 septembre 2012  1490 € Envoyer
Lyon 10 octobre 2012  1490 € Envoyer
Paris 21 novembre 2012  1490 € Envoyer

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

Répartition : 

50% Théorie, 50% Pratique

Public : 

Architecte, Développeur, Chef de projet

Pré-requis : 

Connaissance de Java

Programme

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
* Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment.
  • Télécharger

  • Offert en inter-entreprise

Le petit déjeuner (croissants, jus d'orange, café)


Le déjeuner


Une qualification téléphonique si nécessaire avec l'un de nos consultants

Le livre


  • Java Persistence et Hibernate*
  • couverture livre