Java ORM 표준 JPA 프로그래밍 -김영한
CASCADE 속성이란?
특정 엔티티를 영속 상태로 만들 때, 연관된 엔티티도 함께 영속상태로 만들고 싶으면 영속성 전이(transitive persistence) 기능을 사용하면 된다.
CascadeType 에는 다음과 같은 옵션이 있다.
public enum CascadeType {
ALL, //모두 적용
PERSIST, //영속화 전이
MERGE, //병합
REMOVE, //영속전이: 삭제
REFRESH, //REFRESH
DETACH //DETACH
}
다음과 같이 혼합해서도 사용할 수 있다.
cascade = {CascadeType.PERSIST, CascadeType.REMOVE}
CascadeType.PERSIST
, CascadeType.REMOVE
는 em.persist(), em.remove()를 실행할 때 바로 전이가 발생하지 않고, 플러시를 호출할 때 전이가 발생한다.