TransitivePersistence

  • 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶다면 영속성 전이를 사용하면 된다.

저장

  • CascadeType.PERSIST로 옵션을 명시한다.
  • 부모, 자식을 한 번에 영속화 할 수 있다.

삭제

  • CascadeType.REMOVE로 명시한다.
  • 부모 엔티티를 삭제하면 자식 엔티티도 삭제된다.

병합

  • CascadeType.MERGE로 명시한다.
  • 수정/병합될 때 같이 수정/병합된다.

고아 객체

  • orphan이라고 부른다. 부모 엔티티의 컬렉션에서 자식 엔티티 참조만 제거하면 자식 엔티티가 자동으로 삭제되는 식으로 작동한다.
  • CascadeType.ALL + orphanRemoval = true를 동시에 사용하면 부모 entity로 자식 entity의 생명 주기를 관리할 수 있다.