Я говорю об отдельном объекте, который позже я хочу обновить с помощью saveOrUpdate().Hibernate - как установить нулевое значение, чтобы каскадирование работало [интересно!]?
Как мы можем в то же время установить null и clear() ссылочную коллекцию?
А [1: 1] В [1: M], С
В до C ссылки может быть пустым, это означает, что записи № С для B.
теперь я хочу, чтобы иметь возможность в то же самое установленное B в нуль, чтобы все записи C были удалены из базы данных. И затем saveOrUpdate A!
Каскадирование настроено на спящий режим, включая удаление сироты.
Я B.clear(), она удалит все записи из C.
Я могу установить B в нуль, что будет установлено нулевое значение B, но C записи не будут удалены! (Какая жалость! Неудобно!)
как тогда?
Ситуация странная, на самом деле.
Я вижу обходное решение в 2 транзакции. Первый транс: очистить коллекцию. Зафиксировать транзакцию.
Теперь все записи C удалены.
Вторая сделка: A.setB (null). Commit. Это установит поле в NULL.
Но как это сделать за один шаг?