Maîtrisez la notion d’objet détaché hibernate ainsi que les problématiques du ré attachement. Comprenez le cas d’utilisation, la valeur ajoutée ainsi que les limites de la méthode update(). Découvrez la stratégie de réattachement basée sur le merge.
Objis, spécialiste de la formation Java, est heureux de vous offrir ce tutoriel, extrait de séances pratiques de la formation HIBERNATE dispensée par Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Tutoriel Hibernate N°2 : votre première application hibernate
+ de 100 tutoriaux java/jee Objis
Tutoriaux HIBERNATE Objis
Objis, spécialiste formation java depuis 2005
Comprendre l’opération de merge dans hibernate
Identifier le cas d’utilisation des méthodes update() et merge()
Contexte
Partie 1 : Objets détachés
Partie 2 : réattachement via update()
Partie 3 : les limites d’update()
Partie 4 : réattachement via merge()
30 min.
Données

Analysez le code suivant

QUESTION : qu’est ce qu’un état détaché dans hibernate ?
Citez au moins un avantage et un inconvénient d’utiliser des objets détachés dans hibernate.
Afin de garantir à nouveau le service de persistance d’un objet détache, hibernate fournir plusieurs stratégies pour le ré attacher à un contexte de persistence.
Analysez le code suivant :

En utilisant la documentation hibernate, expliquez ce qu’apporte la méthode update()
Analysez le code suivant :

Quelle différence avec le code précédent ?
Quel est le résultat de ce code ? Pourquoi ?
Exception levée : NonUniqueObjectException
Hibernate va lever une exception :
— Exception in thread "main" org.hibernate.NonUniqueObjectException : a different object with the same identifier value was already associated with the session : [com.objis.demohibernate.complexe.FormationInter#3]
Il ne sait pas quelle instance objet utiliser pour mettre à jour l’enregistrement : faut t’il utiliser l’instance détachée ou l’instance présente dans le contexte de persistance ?

Logs
Analysez le bloc suivant :

Le merge permet de répondre à la problématique non gérée par update().
Analysez le code suivant

Expliquez.
Quel résultat en base pour l’enregistrement ?
Code
Dans ce tutoriel, vous avez mis en pratique la notion de merge dans hibernate.
Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Hibernate :
Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
Votez pour les prochains tutoriaux à publier
Préparez vos entretiens techniques
Valorisez votre profil / expertise
Identifiez des opportunités d’emploi
Recevez la newsletter objis.com