Bonjour,
J'ai un problème hibernate concernant la mise à jour d'une table de relation
Présentation :
J'ai une relation *-* entre 2 tables (Ex : Utilisateur et Jour). Dans cette table de relation (Ex : Utilisateur_Jour), on a donc les 2 ids (Ex : u_id et j_id). Sauf que celle ci possède également 2 attributs (Ex : attribut1 et attribut2). Du coup on ne peut mapper cette table comme une simple relation dans les mappings de Utilisateur et Jour.
Résultat, on a un mapping de cette table de relation avec l'utilisation de composite-id :
Dans le mapping Utilisateur on a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <composite-id> <key-many-to-one name="Utilisateur" column="u_id" class="package.Utilisateur"/> <key-many-to-one name="jour" column="j_id" class="package.Jour"/> </composite-id>
Problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <set name="jours" cascade="all"> <key column="u_id"/> <one-to-many class="package.UtilisateurJour"/> </set>
Dans mon DAO Utilisateur, si je fais un saveOrUpdate sur mon Utilisateur en création, il n'y a pas de problème. Les UtilisateurJour sont correctement créés.
Par contre en mise à jour, à la place de supprimer mes UtilisateurJour, il tente de mettre à jour le u_id à null... ce qui fait tout planter.
Je galère là, j'ai beau modifier le "cascade" à none, tenter de mettre à jour manuellement cette table de relation, etc... je n'y arrive pas. Si quelqu'un à la solution, je suis preneur. Please !!!!
Partager