Bonjour,
je n'ai pas une très grande maîtrise d'Hibernate (je me contente de faire des requêtes en HQL/Critéria en générale), et suite à un changement dans le modèle de la bdd j'ai un souci que je n'arrive pas à résoudre même si je pense avoir mis le doigt dessus.
Voici mon petit problème lorsque je fais un saveOrUpdate :
Code:
Caused by:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.xxx.domaine.om.C#5]
Explication :
J'ai une table A, en relation avec une table B et C.
La table B est aussi en relation avec la table C (autre signification, mais peut pointre sur le même élément, ce qui est d'ailleur la valeur par défaut)
La table A est un peu ma table centrale, il y a donc des cascades vers toute les tables avec qui elle est en relation :
Code:
cascade="persist,merge,save-update"
Quand j'ai rajouté la table C, j'avais mis la même cascade dans A et B vers C.
Donc je me suis dit que sous l'effet des 2 cascades Hibernate cherchait à enregistrer 2x l'objet dans ma table C d'où l'erreur.
J'ai alors retiré la cascade de la table B vers C, ceci étant suffisant, mais j'ai toujours la même erreur :(
Si je retire aussi la cascade de A vers C je n'ai plus d'erreur.
Avez-vous des suggestions/solutions ?
Merci