Aller au contenu principal
Gust Training

Formation Hibernate : La persistance des objets Java (JPA)

Description de la formation Hibernate Hibernate offre une solution élégante et robuste à la problématique de persistance des objets Java. Son

Durée :
3 Jours
Niveau :
Fondamental
Modalités :
Présentiel · En ligne · Hybride

Objectifs de la formation

Cette formation Hibernate vous permettra de :

  • Comprendre le rôle de l’API standard JPA pour la gestion des données relationnelles dans un programme Java
  • Comprendre l’architecture d’Hibernate
  • Savoir mettre en oeuvre les correspondances (« mapping ») Java/Hibernate (identités, héritage, associations)
  • Savoir effectuer des requêtes sur les objets
  • Savoir gérer les transactions (verrou, concurrence, …)
  • Savoir gérer des cas complexes

À qui s’adresse cette formation ?

Ce cours s’adresse à des programmeurs, développeurs, chefs de projet désireux d’acquérir les bases nécessaires pour le développement avec Hibernate.

Prérequis

Connaître Java

Programme

Introduction à la problématique de persistance

Ce chapitre a pour objectif de poser le problème de la persistance d’objets Java et de l’illustrer à l’aide d’un premier TP mettant en œuvre seulement JDBC.

  • Origines du problème. Les facettes de l’impédance mismatch Architectures de la persistance Historique des solutions (JDBC, JDO, Hibernate) Rappel sur JDBC / SQL et ses limites

Travaux Pratiques :

Réalisation du TP1 (persistance à l’aide de JDBC suivant le pattern DAO)

Premier pas avec Hibernate

Ce chapitre présente le minimum à savoir pour commencer à coder une application avec Hibernate. Il permet d’illustrer comment Hibernate résout les problèmes mis en avant dans le TP précédent.

  • Installer Hibernate Initialiser le framework Hibernate Opérations CRUD sur les objets Identité d’objet et cycle de vie

Travaux Pratiques :

Réalisation du TP2 (reprise du TP1 avec Hibernate)

Mapping de l’héritage

Ce chapitre présente comment Hibernate résout le problème de l’Héritage du modèle objet.

  • Le problème du mapping de l’héritage Notion de relations polymorphes Approche : une table par classe concrète Approche : une table par hiérarchie Approche : une table par classe.

Travaux Pratiques :

Réalisation du TP3 (enrichissement du TP2 avec l’héritage)

Mapping des associations

Ce chapitre fait le tour des différentes cardinalités d’associations ainsi que de la sémantique de la composition.

  • Association et navigation. Association 1-N, N-1, N-N Composition Classe association

Travaux Pratiques :

Réalisation du TP4 (enrichissement du TP3 avec plusieurs types d’associations)

Accès en lecture aux objets (HQL, API Criteria et requêtes SQL)

Ce chapitre présente l’important pattern du Lazy loading qui permet de gérer la quantité d’objets chargée par les requêtes en base. Il présente ensuite le langage de requête propre à Hibernate : HQL.

  • Le pattern Lazy Loading. Usage de HQL Usage de l’API Criteria Usage des SQL Query

Travaux Pratiques :

Réalisation du TP5 (requêtes bâties sur le TP4)

Persistance des objets

Ce chapitre expose comment sauvegarder des grappes d’objets et comment gérer la propagation de cette sauvegarde.

  • Principe de persistance transitive. Attachement / détachement des objets d’une session Supprimer une grappe d’objets

Gestion des transactions

L’objectif de ce chapitre est d’effectuer un rappel sur les notions de transactions en base de données et de transactions utilisateurs.

  • Rappel sur la notion de transaction Transaction et concurrence d’accès Niveaux d’isolation Stratégies de contrôle de la concurrence Gestion optimiste Gestion pessimiste Notion de transaction utilisateur

Architecture et Hibernate

L’objectif de ce chapitre est d’exposer un certain nombre de bonnes pratiques d’Hibernate. Plusieurs de ces pratiques vont prendre la forme d’une classe utilitaire expliquée dans le cours et mise en oeuvre dans le TP. Architecture d’Hibernate.

  • Comment gérer la session Hibernate (pattern du ThreadLocal) Comment programmer des règles métiers (frontière métier / accès aux données) Usage du Pattern Data Access Object (DAO) avec Hibernate Comment gérer les transactions utilisateurs avec Hibernate Intégrer Hibernate dans une application web

Travaux Pratiques :

Réalisation du TP6 (Cas d’utilisation complet)

Description de la formation Hibernate

Hibernate offre une solution élégante et robuste à la problématique de persistance des objets Java. Son formidable succès auprès de la communauté des développeurs a rendu cette librairie incontournable et a inspiré les nouveaux standards Java EE 6(EJB3 et Java API persistance de J2EE5). Ce stage Hibernate vous permettra d’aborder tous les aspects de l’Object Relational Mapping et les solutions apportées par Hibernate. Après le rappel de la problématique, les participants réalisent des travaux pratiques progressifs qui leurs permettront de mettre en oeuvre un cas d’utilisation complet d’une application web. Des patterns architecturaux sont présentés et pourront être réutilisés dans des projets industriels.

Travaux Pratiques

Les travaux pratiques utilisent le serveur Tomcat ainsi que l’IDE Eclipse.

Thèmes : Java - Framework et outils

Formations non classées

Word

Objectifs de la formation Word 2010 Malgré tout votre savoir à propos de Word 2010, ce logiciel ne vous a peut-être pas dévoilé toutes ses

Durée
20 Heures
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Formations non classées

Vue Js

Objectifs de la formation Vue.js Si vous êtes perdu face aux nombreux frameworks JavaScript modernes, Vue.js est la réponse à la complexité

Durée
1 Mois
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Formations non classées

Typescript

Description de la formation TypeScript TypeScript est un langage de programmation créé par Microsoft. Conçu à l'origine dans le but

Durée
1 Mois
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Formations non classées

Symfony

Objectifs de la formation Symfony 4 avancé Cette formation Symfony 4 vous permettra d’aller au-delà d’une utilisation de base du framework. Le

Durée
1 Mois
Niveau
Avancé
Modalités
Présentiel · En ligne · Hybride