1.영속성 전이
1. 영속성 전이란?
- 영속 상태의 Entity에서 작업되는 수행들이 연관 관계된 Entity까지 전파되는 상황에서 사용한다.
2. CASCADE : PERSIST
cascade = CascadeType.PERSIST
: 1 : M 관계에서 연관된 Entity 저장을 위해 여러개의 save가 필요하다. 이러한 비효율적인 저장을 자동으로 저장하게 해준다.
3. CASCADE : REMOVE
cascade = CascadeType.REMOVE
: 1 : M 관계에서 연관된 음식 Entity도 자동으로 삭제될 수 있도록 REMOVE 옵션을 설정한다.
2. 고아 Entity
- 부모 Entity와 연관관계가 끊어진 자식 Entity
1. orphanRemoval
- 부모 엔티티와 연관관계가 끊어진 자식 엔티티를 자동으로 삭제하는 기능
- 즉 연관관계가 제거된 객체를 자동으로 제거해준다.
orphanRemoval = true
- cascade : Remove 옵션도 포함하고 있다.
주의할 점
- orphanRemoval이나 REMOVE 옵션을 사용할 때 삭제하려고 하는 연관된 Entity를 다른 곳에서 참조하고 있는지 아닌지를 꼭 확인해야 한다!!
- @ManyToOne일 때는 사용할 수 없다 -> 해당 객체를 참조하는 다른 객체가 있을수 있기 때문