Коллекция не обновляется после сохранения противоположного объекта с помощью Spring Data Jpa - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть две сущности, которые находятся в отношениях один-ко-многим:

Родительский объект:

@OneToMany(mappedBy = "parent")
public List<Child> getChildren()

Дочерняя сущность:

@ManyToOne
@JoinColumn(name = "PARENT_ID")
public Parent getParent()

Рассмотрим следующий код (внутри транзакции):

Child child = childRepository.findById(id).get();
Parent parent = child.getParent();
child.setParent(null);
childRepository.saveAndFlush(child);
List<Child> children = parent.getChildren();

В этом случае список «детей» будет по-прежнему содержать дочернюю сущность, хотя она уже удалена. Я пытался очистить репозитории, сохранить родительский объект или даже получить новый из parentRepository, но ни один из них не сработал.

Почему список детей не обновляется при сохранении, и как я могу убедиться, что коллекция обновлена ​​без явного удаления объекта (я хочу выполнить дальнейшие операции над объектами в коллекции)?

...