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   -
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   Statut Membre Dernière intervention   25
 
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
ABDows Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci tksteph , je vais essayer avec un saveOrUpdate.
0