Удаление связанных сущностей jpa - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть автор -> отношения с книгами

@OneToMany(CascadeType.All)
List<Book> lstBooks;

Так что, когда я добавил 2 книги и удалил одну, а затем позвонил своему сервису authorService.update(authorObject);

, я заметил, что две новые книги былидобавлен в базу данных, но, что интересно, тот, который я удалил, фактически не был удален из базы данных.

Мне показалось это странным. Но хорошоИтак, я обнаружил, что есть атрибут orphanRemoval = true, поэтому я добавил это. И удивительно, теперь книга, которую я удалил, была также удалена из базы данных.

Так что теперь я думаю, что должен быть очень осторожным. Если я создаю новый объект автора и пропускаю пустой список книг, я думаю, что все мои книги будут удалены. Насколько мне известно, значение null для списка книг никогда не допускается.

Что на самом деле быстрее, если я хочу обновить соответствующие книги автора.

Для использования. authorService.update(author) или просто использовать bookService.delete(id) или bookService.add(id) методы?

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