Допустим, у меня есть две таблицы - «дочерняя» и «родительская» с отношением «многие к одному». Что мне нужно, так это удалить дочерние записи, если родительская запись удалена.
Это не проблема, если я связываю дочернюю таблицу с родителем, создавая связь один-ко-многим в parent.hbm и установив cascade = "all-delete-orphan".
Проблема в том, что я не хочу отношения один-ко-многим на родительской стороне, поэтому я создал много-к-одному на дочерней стороне. Причина в том, что дочерняя таблица довольно большая, и я не хочу извлекать сотни записей каждый раз, когда использую parent.
Итак, моя конфигурация выглядит так:
child.hbm:
<many-to-one name="parent" class="com.example.Parent" column="parentid"/>
, в то время как parent.hbm не связан с child.
Вопрос заключается в следующем: Как заставить Hibernate удалять записи из дочерней таблицы при удалении родителя, если дочерний элемент связан с родителем с много-к-одному?
Спасибо.