ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] 영속성 전이 (Cascade)
    Spring 2025. 4. 17. 10:30

     

    minecraft-font

    Spring

     

     

    🔥 Cascade

           🎯 JPA에서 특정 엔티티를 저장, 삭제 등의 작업을 할 때 연관된 엔티티에도 동일한 작업을 자동으로

                적용하도록 설정하는 기능

               (❗ 영속성 전이는 지연로딩, 즉시 로딩과는 아무 관련이 없다)

     


     

    ✅ why ?

       연관된 객체들은 별도로 저장, 삭제하지 않고도 하나의 작업으로 함께 처리 할 수 잇기 때문에 코드가 깔끔해지고 관리가 쉬움

       

       부모 - 자식 관계에서 부모 엔티티만 신경 써도 자식 엔티티들이 함께 관리되니 일관성이 있는 데이터 처리 가능.

     

    옵션 설명
    PERSIST 부모 저장 시 자식도 저장
    REMOVE 부모 삭제 시 자식도 삭제
    MERGE 병합(수정)시 자식도 병합
    DETACH 영속성 컨텐스트에서 분리시 자식도 함께 분리
    REFRESH DB로부터 다시 불러올 때 자식도 같이 불러옴
    ALL 위의 모든 옵션 포함(전체 전이)

     

    •  

    사용 방법

        ● 단일 Entity에 완전히 종속적인 경우 생명주기가 같다면 사용한다.

             ■ 블로그 글의 댓글처럼 항상 글을 통해서만 관리하는 경우

             ■  상품과 상품 이미지처럼 특정 상품에 종속되어 관리되는 경우

     

      ●   작가와 책

            ■  책은 특정 작가와 연관되지만 작가가 활동하지 않아도 책은 보존된다.

            ■ 이런 경우는 사용하지 않는다.

     

    ⚠️ 주의점

            의미 있는 부모- 자식 관계(같은 생명주기를 가지는 연관된 객체 관계)에서만 사용해야 한다. 

          ●  삭제 전이(Remove)는 예상치 못한 삭제 발생 가능성이 있다.

    'Spring' 카테고리의 다른 글

    [Spring] 트랜잭션  (0) 2025.04.17
    [Spring] 고아 객체  (0) 2025.04.17
    [Spring] 지연로딩, 즉시 로딩  (0) 2025.04.16
    [Spring] Proxy  (0) 2025.04.16
    [Spring] 연관관계 유형  (0) 2025.04.16
Designed by Tistory.