У меня есть две таблицы Item и Property, и один элемент может иметь несколько свойств. Я смоделировал это правильно (я думаю) в спящем режиме и при загрузке объекта ItemModel все свойства загружаются правильно.
Проблема в том, что когда я пытаюсь удалить свойства и затем сохранить их, свойства просто добавляются к существующим.
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);
Что происходит, так как теперь в базе данных есть 6 свойств для этой категории вместо 1. Что я должен сделать, чтобы эта работа работала?
Модель отображения элемента в свойства выглядит примерно так
<set name="propertySet" cascade="all">
<key column="item_id" not-null="true"/>
<one-to-many class="Property"/>
</set>