JEE - EJB : detached entity passed to persist
ABDows
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
ABDows Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
ABDows Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Depuis un moment j'ai commencé un mini-projet et j'ai fini bloqué par l'erreur suivante :
Au faite , je souhaite créer un petit moteur WEBFLOW ou chaque workflow est composé de plusieurs activités d'ou le code suivant :
Est ce que quelqu'un peut m'aider SVP ?!
Depuis un moment j'ai commencé un mini-projet et j'ai fini bloqué par l'erreur suivante :
org.hibernate.PersistentObjectException: detached entity passed to persist: fastflow.metier.Workflow
Au faite , je souhaite créer un petit moteur WEBFLOW ou chaque workflow est composé de plusieurs activités d'ou le code suivant :
User u = um.getUserByEmail("email@gmail.com").get(0); Workflow wf = new Workflow("Work flow 1022", "description wf 1022"); wm.addWorkflow(wf,u); Activity act = new Activity("act 1","title act 1",wf); wm.addActivity(act); // Mon programme plante ici et génére l'exception citée en haut.
Est ce que quelqu'un peut m'aider SVP ?!
2 réponses
Bonjour,
Sans plus de détails, sur la structure de Activity(?,?,?)
et addActivity(?){??} et au vue du code produit plus haut je suppose que tu veux rajouter une nouvelle activité dans ta base.
Toutefois persist te permet de rajouter de nouveaux objets transcients qui ne sont associés à aucune session hibernate en cours.
Donc l'opération échouera si jamais l'id de l'objet pour lequel tu fais le persist existe déja en base et tu auras l'erreur que tu signale.
(Pour modifier la valeur d'un objet tu utilise plustôt saveOrUpdate au lieu de persist.)
Donc rassure toi que l'id de ton objet est bien unique! avant de faire le persist ou alors tu fais plustot un saveOrUpdate
Sans plus de détails, sur la structure de Activity(?,?,?)
et addActivity(?){??} et au vue du code produit plus haut je suppose que tu veux rajouter une nouvelle activité dans ta base.
Toutefois persist te permet de rajouter de nouveaux objets transcients qui ne sont associés à aucune session hibernate en cours.
Donc l'opération échouera si jamais l'id de l'objet pour lequel tu fais le persist existe déja en base et tu auras l'erreur que tu signale.
(Pour modifier la valeur d'un objet tu utilise plustôt saveOrUpdate au lieu de persist.)
Donc rassure toi que l'id de ton objet est bien unique! avant de faire le persist ou alors tu fais plustot un saveOrUpdate