J'ai deux tables Item et Property et un item peut avoir plusieurs propriétés. Je l'ai modélisé correctement (je pense) dans Hibernate et lorsque je charge l'objet ItemModel, toutes les propriétés se chargent correctement.
Le problème est que lorsque j'essaie de supprimer des propriétés et de les sauvegarder, les propriétés sont ajoutées à celles qui existent déjà.
ItemModel m = ...;
m.getPropertySet().size() // returns 5 initially
m.getPropertySet().clear();
// some update function which adds properties
m.getPropertySet().size(); // returns 1
...currentSession().saveOrUpdate(m);
Ce qui se passe, c'est que la base de données a maintenant 6 propriétés pour cette catégorie au lieu de 1. Que dois-je faire pour que cela fonctionne ?
Le modèle de mappage des propriétés des éléments ressemble à ceci
<set name="propertySet" cascade="all">
<key column="item_id" not-null="true"/>
<one-to-many class="Property"/>
</set>