JEE - EJB : detached entity passed to persist

Fermé
ABDows Messages postés 9 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 28 juillet 2013 - 20 juil. 2013 à 01:10
ABDows Messages postés 9 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 28 juillet 2013 - 28 juil. 2013 à 14:33
Bonjour,

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

tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
23 juil. 2013 à 11:26
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
1