Я пытаюсь добиться сохранения родительского объекта со своими дочерними элементами. Дочерний объект имеет составной ключ, который содержит внешний ключ к родительскому.
Текущее сопоставление является однонаправленным для многих, и родителю принадлежат отношения.
Вот моя модель:
Родитель:
@Entity
@Table(name = "PARENT")
public class ParentEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String name;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "PARENT_ID")
private Set<Child> children;
...
Ребенок:
@Entity
@IdClass(ChildPK.class)
@Table(name = "CHILD")
public class Child {
@Id
@Column(name = "PARENT_ID")
private Long parentId;
@Id
private String source;
@Id
private Long alternativeId;
...
Кол-во:
class ChildPK implements Serializable {
private Long parentId;
private String source;
private Long alternativeId;
...
В настоящее время моя проблема в том, что Hibernate не обрабатывает заполнение parentId в Child, что, как мне кажется, просто я надеюсь, что это произойдет, и я получаю нарушение ограничения на ребенка. Я ищу идеи о том, как мне добиться создания родительского объекта, содержащего его детей, и сохранить все это за один раз.
Спасибо за вашу помощь,