TransitivePersistence
- 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶다면 영속성 전이를 사용하면 된다.
저장
- CascadeType.PERSIST로 옵션을 명시한다.
- 부모, 자식을 한 번에 영속화 할 수 있다.
삭제
- CascadeType.REMOVE로 명시한다.
- 부모 엔티티를 삭제하면 자식 엔티티도 삭제된다.
병합
- CascadeType.MERGE로 명시한다.
- 수정/병합될 때 같이 수정/병합된다.
고아 객체
- orphan이라고 부른다. 부모 엔티티의 컬렉션에서 자식 엔티티 참조만 제거하면 자식 엔티티가 자동으로 삭제되는 식으로 작동한다.
- CascadeType.ALL + orphanRemoval = true를 동시에 사용하면 부모 entity로 자식 entity의 생명 주기를 관리할 수 있다.