[JPA] 영속성 전이(CASCADE)

동동·2022년 4월 24일
0

JPA

목록 보기
11/18
post-thumbnail

CASCADE

  • 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속상태로 만들고 싶을 때 사용
  • 예 ) 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장

📌 CASCADE 사용법

@OneToMany(mappedBy="parent", cascade=CascadeType.PERSIST)

매핑을 할 때 cascade 속성을 설정 CascadeType은 다음고 같은 것들이 있다.

  • ALL : 모두 적용
  • PERSIST : 영속
  • REMOVE : 삭제
  • MERGE : 병합
  • REFRESH : REFRESH
  • DETACH : DETACH

Tip ) 하나의 부모가 자식들을 관리할 때 사용하는 것이 좋음
파일을 여러군데에서 관리할 때 사용할 때는 사용하지 않는 것이 좋음
즉, 소유자가 하나일 때(부모가 하나일 때) 사용해야 함
단일 엔티티에 완전히 종속적일 때는 라이프사이클이 똑같기 때문에 사용

라이프사이클이 똑같을 때
단일 소유자일 때

🚨 CASCADE 이해할 때 주의할 것

  • 영속성 전이는 연관관계를 매핑하는 것과 무관함
  • 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화하는 편리함을 제공할 뿐
profile
괴발개발

0개의 댓글