У меня есть один родительский объект, подобный этому:
@Entity
@Table(name = "parent")
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
}
И у меня есть два дочерних объекта, у которых есть внешний ключ к одному и тому же родительскому объекту:
@Entity
@Table(name = "child1")
public class Child1 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@ManyToOne(cascade = "persist if not existing and merge if existing")
@JoinColumn(name = "parent_id")
private Parent parent;
}
@Entity
@Table(name = "child2")
public class Child2 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@ManyToOne(cascade = "persist if not existing and merge if existing")
@JoinColumn(name = "parent_id")
private Parent parent;
}
В этом случае как я могу установить правило каскада в дочерних объектах для аннотации @ManyToOne? Существует ли каскадное правило для сохранения родительской записи, если она не существует, и объединения ее, если она существует?