обновить спящий вложенный один ко многим объектным отношениям - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь обновить родительскую сущность, которая имеет отношение один ко многим, как показано ниже:

@Entity
Class Zone {
 @Id
 @Column(name = "ID")
 int id;

 @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = 
 "zone", fetch = FetchType.EAGER)
 @Fetch(FetchMode.SELECT)
 private List<ZoneGroup> zoneGroups = new ArrayList<>();

}

 @Entity
 Class ZoneGroup {
 @Id
 @Column(name = "ID")
 int id;

 @ManyToOne(fetch = FetchType.EAGER)
 @JoinColumn(name="ZONE_ID")
 private Zone zone;


 @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = 
 "zoneGroup", fetch = FetchType.EAGER)
 @Fetch(FetchMode.SELECT)
 private List<ZoneCriteria> zoneCriterias = new ArrayList<>();

 }

 @Entity
 Class ZoneCriteria {
 @Id
 @Column(name = "ID")
 int id;

 @ManyToOne(fetch = FetchType.EAGER)
 @JoinColumn(name="ZONE_GROUP_ID")
 private ZoneGroup zoneGroup;

}

Я пытаюсь обновить родительскую сущность, используя cascade.ALL (одновременно обновляя дочерние сущности) с помощью диспетчера сущностей JPA, устанавливая сущность ZoneGroup на уровне обслуживания, однако каскад не применяется к ZoneCriteria, и броски гибернации не могут вставить ноль для вставки сущности ZoneCriteria.Примечание. Я использую каскадные параметры для обновления.

Вопросы: 1. Верно ли мое сопоставление сверху 2. Поддерживает ли hibernate сопоставления вложенных сущностей 3. Если да, на вопрос выше, как обновить все дочерние сущности(ZoneGroup и ZoneCriteria), установив свойство Zone.

Любая помощь будет принята с благодарностью.Спасибо

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