Booster des Talents IT

Formation Hibernate

La formation va vous permettre de comprendre les principes fondamentaux de Hibernate et savoir développer une couche de persistance avec Hibernate.
Prixà partir de
1700 €HT
RéférenceAF1449
Durée3 jours
Public Administrateurs
PrérequisAucun
TP50%

Plan de Formation Hibernate

Qu’est-ce que la persistance ?

Définition
Persistance en programmation objet
Les solutions de stockage des données
SGBDR, SGBDO, BDD XML, fichiers plats, sérialisation
Accéder aux SGBDR avec Java
JDBC
Framework de persistance
Nécessité de l’utilisation d’un framework
Application de designs pattern appropriés
Framework maison ou framework existant ?
Frameworks de type Data Mapper
Frameworks de type ORM

Présentation du projet Hibernate

Ce qui n’est pas pris en charge par Hibernate
La couche de persistance

Premier pas

Définir une classe persistante
Classe POJO
Définir le mapping
Fichier de mapping XML
Les propriétés de configuration
Charger les fichiers de mapping en mémoire
Définir les paramètres JDBC
Définir le dialecte pour une base de données
Utiliser Hibernate
Objets SessionFactory et Session
Exécuter une requête
Le langage HQL
Exemple complet

Le mapping

Le contexte
Définir les liens entre le modèle objet et le modèle relationnel
Modèle du domaine, document de mapping, schéma bdd
Objectifs
Lier les classes aux tables
Gérer :
– L’héritage
– Les associations
– L’identité des objets
– Les différences de granularité
– Les classes persistantes
Découplage classes persistantes / technologie de persistance
Les classes persistantes sont des POJO
Règles de codage des POJO (constructeurs, getter/setter, associations, héritage)
Définir un identifiant
Écrire le schéma de la base de données
Les types de données
Les clés primaires
Cas des identifiants fonctionnels
Associations et foreign keys
Les modèles relationnels pour une hierarchie d’héritage
Effectuer le mapping
Objectifs du mapping
Mapping des classes
Mapping des propriétés
Les types Hibernate
Contrôler les INSERT et les UPDATE
Mapping des identifiants
Gérer les différences de granularité
Mapping de l’héritage
Mapping d’une association de type many-to-one

Manipuler les objets persistants

Cycle de vie des objets
Comprendre le cycle de vie des objets
Les états des objets gérés par Hibernate(objets transients, objets persistants, objets détachés)
Opérations CRUD de base
Créer un enregistrement
Mettre à jour un objet détaché
Lire un objet à partir de sa clé primaire
Mettre à jour un objet persistant
Supprimer un objet persistant
Supprimer un objet détaché
Mettre à jour un objet transient
La méthode saveOrUpdate()
Synchronisation avec la base de données
Synchronisation en fin de transaction
Synchronisation en cours de transaction
Synchronisation explicite
Stratégies de flushing
Persistance en cascade
Forcer hibernate à parcourir les associations
L’attribut cascade avec les associations de type many-to-one
L’attribut cascade avec les associations de type one-to-many
Charger les objets persistants
Navigation dans le graphe d’objets
Lecture par identifiant
Requêtes HQL
Requêtes par critères (QBC)
Requêtes par l’exemple (QBE)
Requêtes SQL
Les stratégies de chargement des objets(fetching) (chargement immédiat, initialisation tardive, initialisation agressive, chargement par lot)

Mapping avancé

Collections de valeurs
Définition des objets de valeur
Les collections set
Les collections bag
Les collections list
Les collections map
Les collections triées
Les collections ordonnées
Les collections de composants
Mapping des associations
Les collections de type one-to-one
Les collections de type one-to-many
Les collections de type many-to-many

HQL et Criteria

Requêtes de base
Récupérer toutes les instances d’une classe
Alias de classe
Requêtes polymorphiques
Sélection des données
Opérateurs de comparaison
Filtrage des chaînes de caractères
Opérations sur les chaînes de caractères
Opérateurs logiques
Trier les résultats
Jointure
Les jointures implicites
Les jointures internes
Les jointures rapportées
Les jointures theta
Projections
Définition
Instanciation dynamique
Résultats distincts
Requêtes sur les ensembles
Fonctions d’aggrégation
Les groupements

Transactions et accès concurrents

Propriétés d’une transaction
Les propriétés ACID
Gestion de l’atomicité
Avec JDBC
Avec JTA
Avec Hibernate
Gestion de l’isolation
Avec JDBC
Avec Hibernate
Choix du niveau d’isolation
Verrouillage pessimiste
Principe
Mise en œuvre
Verrouillage optimiste
Principe
Mise en œuvre
Modes de verrouillage
La classe LockMode

Gestion du cache

Objectifs
Cache de premier niveau
Principe
Contrôler le cache de premier niveau
Cache de second niveau
Principe
Stratégie transactionnelle
Cache provider

Nos autres formations Java

AF24608Formation Développer des applications Web avec Java EE 7 New Formation ! en Intra/Cours Particulier5 jours2450 €HT
AF15848Formation Google Guava 15 sessions prévues1 jour710 €HT
AF15787Formation Secure Coding Java 13 sessions prévues1 jour890 €HT
AF15140Formation Nouveautés Java 8 26 sessions prévues2 jours990 €HT
AF13578Formation Swing, développement en Java 26 sessions prévues3 jours1450 €HT
Voir les 43 formations
Vous pouvez également être intéressé par des formations Frameworks Java, Hibernate, Hibernate java, Java, Open Source ou par les formations de notre filière Java
Prixà partir de
1700 €HT
RéférenceAF1449
Durée3 jours
Public Administrateurs
PrérequisAucun
Travaux pratiques50%
Suivez l'une de
nos 26 sessions
le 15/11/2017 à Nantes
le 27/11/2017 à Lyon
le 20/12/2017 à Paris
le 20/12/2017 à Toulouse
le 10/01/2018 à Aix-en-Provence
le 29/01/2018 à Paris
le 07/02/2018 à Lyon
le 12/02/2018 à Lille
le 19/03/2018 à Paris
le 20/03/2018 à Nantes
le 23/04/2018 à Lyon
le 24/04/2018 à Toulouse
le 23/05/2018 à Aix-en-Provence
le 30/05/2018 à Paris
le 04/06/2018 à Lille
le 11/06/2018 à Lyon
le 10/07/2018 à Paris
le 17/07/2018 à Nantes
le 26/09/2018 à Toulouse
le 26/09/2018 à Lyon
le 09/10/2018 à Paris
le 09/10/2018 à Aix-en-Provence
le 19/11/2018 à Lyon
le 19/11/2018 à Lille
le 12/12/2018 à Nantes
le 19/12/2018 à Paris
Voir toutes les dates