У меня есть таблица троичной ассоциации, созданная с использованием следующего сопоставления:
<map name="Associations" table="FooToBar">
<key column="Foo_id"/>
<index-many-to-many class="Bar" column="Bar_id"/>
<element column="AssociationValue" />
</map>
У меня есть 3 таблицы: Foo, Bar и FooToBar.
Когда я удаляю строку из таблицы Foo, связанная строка (или строки) в FooToBar автоматически удаляется. Это хорошо.
Когда я удаляю строку из таблицы Bar, связанные строки (или строки) в FooToBar остаются с устаревшей ссылкой на идентификатор Bar, который больше не существует. Это плохо.
Как я могу изменить мой hbm.xml для удаления устаревших строк FooToBar при удалении из таблицы Bar?