특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용하는 옵션
예) 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장
주의
- 영속성 전이는 연관관계 매핑하는 것과 아무 관련 없음
- 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화하는 편리함을 제공할 뿐이다!
CASCADE의 종류
ALL : 모두 적용
PERSIST : 영속
REMOVE : 삭제
MERGE : 병합
REFRESH : REFRESH
DETACH : DETACH
참조하는 곳이 한군데인 경우, 하나의 부모만 자식들을 관리하는 경우에만 의미있다. 게시판과 첨부파일과 같은 관계에서만 사용해야한다!
파일을 여러 엔티티에서 관리한다. 다른 게시물에서도 관리한다하면 사용하면 안된다! parent 하나만 단독으로 관리할 때만 사용해야한다 (부모 엔티티가 하나일 때)
단일 엔티티에 종속적인 경우에 사용! (라이프 사이클이 똑같기 때문)
부모 엔티티와 연관관계가 끊어진 자식 엔티티
주의
- 참조가 제거된 엔티티는 다른 곳에서 참조하지 않는 고아객체로 보고 삭제하는 기능
- 참조하는 곳이 하나일 때 사용해야한다!
- 특정 엔티티가 개인 소유할 때만 사용
@OneToMany, @OneToOne만 가능 : 참조하는 쪽이 하나인 경우만 사용
https://hongchangsub.com/jpa-cascade-2/