@ManyToOne
@JoinColumn(name = Parent_Id)
Parent parent;
// @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) // ALL이나 PERSIST 사용
@OneToMany(mappedBy = "parent")
List<Child> childs = new ArrayList<>();
...
em.persist(parent);
em.persist(child1); // cascade시 지워도 된다.
em.persist(child2); // cascade시 지워도 된다.
...
orphanRemoval을 true로 하면 고아 객체가 자동적으로 DB에서 DELETE 된다.
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true)
List<Child> childs = new ArrayList<>();
...
Parent findParent = em.find(Parent.Class, parent.getId());
parent.getChilds().remove(0) // List 컬렉션의 0번 child 제거
// DELETE 쿼리가 나간다
...