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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
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