Hibernate коллекции имеют значение NULL после сохранения - PullRequest
0 голосов
/ 19 сентября 2018

JPA-сущность Batch имеет отношение OneToMany к Event:

@OneToMany(mappedBy = "owningBatch")
private Set<Event> containingEvents;

, а Event имеет отношение ManyToOne к Batch:

@ManyToOne
@JoinColumn(name = "BATCH_ID")
private Batch owningBatch;

после созданияновый экземпляр и сохраняющий его containingEvents по-прежнему NULL.Но когда я использую пустое Set:

@OneToMany(mappedBy = "owningBatch")
private Set<Event> containingEvents = Sets.newHashSet();

, после сохранения containingEvents заменяется на PersistentSet в Hibernate.Я ожидаю, что эта замена произойдет даже в первом случае.Почему этого не происходит?

DAO реализованы в Spring Data JPA.

Spring Boot 2.0.4.RELEASESpring Data JPA 2.0.4.RELEASEHibernate 5.2.17.FinalHibernate JPA 2.1 1.0.2. Финал

1 Ответ

0 голосов
/ 19 сентября 2018

Вам нужно добавить CascadeType в вашу @OneToMany аннотацию, например:

@OneToMany(mappedBy = "owningBatch", cascade = CascadeType.ALL)
private Set<Event> containingEvents;

И ваш Event класс должен содержать:

@ManyToOne
@JoinColumn(name = "batch_id", referencedColumnName = "id")
private Batch owningBatch;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...