Ошибка удаления элемента OneToMany с помощью Cascade.ALL и orphanRemoval = true

Если вы пытаетесь преобразовать все поля формы в JSON, чтобы отправить эту форму через Ajax, здесь добавлен плагин jQuery form .

1
задан Joe 13 July 2018 в 19:41
поделиться

1 ответ

Вы должны убедиться, что ваш класс DeliveryNote реализует метод equals (и как результат hashcode). Если это не так, то есть хороший шанс deliveryNotes.remove(note); ничего не сделает.

Если вы уже делаете это (я не могу сказать из вопроса) и используя work отношение в equals, а затем установите поле Work на null, прежде чем вызывать remove, изменяет состояние объекта и вызывает equals для возврата false. Просто установите связь с null после удаления из коллекции.

1
ответ дан StuPointerException 17 August 2018 в 12:17
поделиться
  • 1
    equals переопределяется и удаляет работу. Я делаю то же самое с другой коллекцией, и это работает. Это странный случай. – Joe 13 July 2018 в 18:29
  • 2
    Странный. Это длинный снимок, но можете ли вы попробовать удалить вызов note.setWork(null);? Это не должно требоваться, так как объект все равно будет удален. – StuPointerException 13 July 2018 в 18:47
  • 3
    Я пробовал без note.setWork (null) и того же результата. Я продолжу поиск этой проблемы. – Joe 13 July 2018 в 20:03
  • 4
    Отправьте ответ, когда вы получите результат, это, безусловно, превзошло меня! удачи :) – StuPointerException 13 July 2018 в 20:10
Другие вопросы по тегам:

Похожие вопросы: