Почему hibernate удаляет строки из таблицы соединений при добавлении элемента для установки сопоставления многие-ко-многим? - PullRequest
3 голосов
/ 31 октября 2010

Suposse У меня есть два класса:

class A {
Set<B> bs
}
class B {
}

Это отображение:

<set name="bs" table="bs_tab" cascade = "save-update">
            <key column="a_id />
            <many-to-many column="b_id" class="B"/>
</set>

И присоединить таблицу так:

bs_tab(
a_id, b_id, primary key(a_id, b_id)
)

Когда я добавляю какой-то элементустановить bs, а затем вызвать Session.saveOrUpdate (экземпляр A). hibernate удаляет все строки в ядре bs_tab, соответствующие экземплярам B, которые были в наборе, перед добавлением нового элемента.

1 Ответ

3 голосов
/ 31 октября 2010

Убедитесь, что правильно внедрили equals / hashCode.У меня есть такой же тип отображения (однонаправленный многие-ко-многим), и добавление элементов не генерирует SQL-операторы DELETE затем INSERT для таблицы соединений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...