Jpa CascadeType 각 모드의 역할과 예시 코드

CascadeType

  • 엔티티의 생명주기 이벤트를 관련 엔티티에 전파하는 방법을 정의

종류

  1. ALL

    모든 캐스케이드 연산을 적용한다.

    즉, PERSISTMERGEREMOVEREFRESHDETACH가 모두 적용됩니다.

  1. PERSIST

    부모 엔티티를 저장할 때 연관된 자식 엔티티도 함께 저장합니다.

    • 예시
      • 장바구니 - 장바구니 상품(리스트)
  1. MERGE

    부모 엔티티의 상태를 병합할 때 연관된 자식 엔티티의 상태도 함께 병합합니다.

  1. REMOVE

    부모 엔티티삭제할 때 연관된 자식 엔티티도 함께 삭제합니다.

  1. REFRESH

    부모 엔티티상태를 새로 고칠 때 연관된 자식 엔티티의 상태도 함께 새로 고칩니다.

    DB와 동기화를 위하여 사용한다고 합니다.

  1. DETACH

    엔티티 매니저로부터 부모 엔티티분리할 때 연관된 자식 엔티티도 함께 분리합니다.

    엔티티를 영속성 컨텍스트에 분리하는 경우 사용된다고 합니다.


Uploaded by N2T