JPA - много к одному, где у ребенка есть родительский идентификатор - PullRequest
0 голосов
/ 17 марта 2020

Образец

Родительский класс

@OneToMany(mappedBy = "parent")
private List<Child> childs;

Дочерний класс

@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "parent_id")
private Parent parent;

Я присваиваю дочерние объекты родителю, затем сохраняю родителя.

Проблема

Родитель и дочерний элемент сохраняются, однако поле parent из дочернего идентификатора сохраняется как ноль.

Ожидается

Я ожидал, что оба объекта быть сохраненным со значением, присвоенным полю parent.

Временное решение

Что ж, если я сохраню родительский элемент без дочерних, тогда назначьте дочерние элементы и объедините родительский, все это работает, но мне было интересно, можно ли все это сделать за один раз.

1 Ответ

1 голос
/ 17 марта 2020

Я подозреваю, что вы установили только односторонние отношения. Вы должны установить

child.setParent(parent);
parent.getChilds().add(child); // to avoid NullPoinerException childs have to be not null

и затем сохранить child

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