JPA каскадное решение для нескольких ссылок @ManyToOne на одну цель - PullRequest
0 голосов
/ 13 марта 2020

У меня есть один родительский объект, подобный этому:

@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? Существует ли каскадное правило для сохранения родительской записи, если она не существует, и объединения ее, если она существует?

...