상세 컨텐츠

본문 제목

CascadeType

스프링

by R4MeN 2024. 6. 7. 10:43

본문

개요

  • JPA(Java Persistence API)에서 엔티티 간의 연관 관계를 설정할 때, 연관된 엔티티에 대해 특정 작업(예: persist, remove 등)을 전파할 수 있는 옵션을 제공함
  • CascadeType은 엔티티 상태 변화가 연관된 엔티티에 어떻게 전파될지를 지정함

종류

  1. CascadeType.PERSIST
    • 엔티티를 영속화(persist)할 때, 연관된 엔티티도 함께 영속화함
    • 예: 부모 엔티티를 저장할 때, 자식 엔티티도 함께 저장됨
  2. CascadeType.MERGE
    • 엔티티를 병합(merge)할 때, 연관된 엔티티도 함께 병합함
    • 예: 부모 엔티티를 병합할 때, 자식 엔티티도 함께 병합됨
  3. CascadeType.REMOVE
    • 엔티티를 제거(remove)할 때, 연관된 엔티티도 함께 제거함
    • 예: 부모 엔티티를 삭제할 때, 자식 엔티티도 함께 삭제됨
  4. CascadeType.REFRESH
    • 엔티티를 새로 고침(refresh)할 때, 연관된 엔티티도 함께 새로 고침함
    • 예: 부모 엔티티를 새로 고침할 때, 자식 엔티티도 함께 새로 고침됨
  5. CascadeType.DETACH
    • 엔티티를 분리(detach)할 때, 연관된 엔티티도 함께 분리됨
    • 예: 부모 엔티티를 분리할 때, 자식 엔티티도 함께 분리됨
  6. CascadeType.ALL
    • 모든 작업(persist, merge, remove, refresh, detach)을 연관된 엔티티에 전파함
    • 예: 부모 엔티티에 대한 모든 작업이 자식 엔티티에도 전파됨

요약

  • CascadeType은 JPA에서 엔티티 상태 변화가 연관된 엔티티에 전파되는 방식을 지정함
  • CascadeType의 종류에는 PERSIST, MERGE, REMOVE, REFRESH, DETACH, ALL이 있음
  • 각 CascadeType은 엔티티의 특정 작업이 연관된 엔티티에도 동일하게 적용되도록 함

'스프링' 카테고리의 다른 글

Given-When-Then 패턴  (0) 2024.06.13
Logout API  (0) 2024.06.07
JWT를 사용한 인증/인가의 장점과 한계점  (0) 2024.06.03
IoC(제어의 역전)와 DI(의존성 주입)  (0) 2024.05.31
p6spy-spring-boot-starter 라이브러리  (1) 2024.05.23

관련글 더보기