본문 바로가기
Java/JPA

[SpringBoot_JPA_1] Cascade Type

by HJ0216 2023. 5. 25.

이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발] 수강하며 정리한 글입니다.

 

 

🟦 기본 환경: IDE: IntelliJ, Language: Java

 

 

Cascade: 영속성 전이

: 상위 Entity 영속화 → 하위 Entity 영속화, 상위 Entity 삭제 → 하위 Entity 등 특정 Entity를 영속 상태로 만들 경우, 연관 Entity도 함께 영속상태로 전이되는 것

 

 

Cascade 종류

1. Cascade.ALL

: 상위 Entity에서 일어나는 모든 Cascade에 대하여 하위 Entity로 전이

 

2. Cascade.PERSIST

: 상위 Entity 저장 시, 하위 Entity 저장

 

3. Cascade.MERGE

: 상위 Entity 상태 병합 시, 하위 Entity 상태 병합

 

4. Cascade.REMOVE

: 상위 Entity 삭제 시, 하위 Entity 삭제

 

5. Cascade.REFRESH

: 상위 Entity 인스턴스 값을 다시 읽어올 경우(= 새로고침 할 경우), 하위 Entity까지 새로고침

 

6. Cascade.DETACH

: 상위 Entity를 영속성 컨텍스트에서 제거(detach*)할 경우, 하위 Entity까지 제거

 * detach, 준영속 상태: 영속 상태의 entity가 영속성 컨텍스트에서 분리된 것

 + Persistance Context: Entity를 영구 저장하는 환경으로, 어플리케이션과 DB 사이에서 객체를 보관하는 가상의 저장소같은 역할

 

 

 

참고 자료

 

JPA 연관관계 영속성 전이(CASCADE) - CascadeType

📎 JPA 영속성 전이(CASCADE) 안녕하세요! 이번에 정리할 내용은 JPA에서 영속성 전이(CASCADE)와 관련된 내용입니다. 최근 개발을 진행하며 두 연관된 엔티티에서 save()를 하는 과정에서 오류가 발생

zzang9ha.tistory.com

 

[JPA] Spring JPA CascadeType 종류

JPA Cascade Types Spring JPA CascadeType 종류 javax.persistence.CascadeType JPA Cascade Type ALL PERSIST MERGE REMOVE REFRESH DETACH CascadeType.ALL 상위 엔터티에서 하위 엔터티로 모든 작업을 전파 @Entity public class Person { @Id @Gen

data-make.tistory.com

 

[Spring JPA] 영속성 컨텍스트(Persistence Context)

영속성 컨텍스트란? 엔티티를 영구 저장하는 환경이라는 뜻으로 어플리케이션과 DB사이에서 객체를 보관하는 가상의 DB같은 역할을 한다.

velog.io

 

[Spring] JPA - 영속성 컨텍스트(Persistence Context) 정리

이전 글에서 JPA에 대한 기본 정리를 진행해보았습니다. 이번 글에서는 JPA 에서 가장 중요할 수 있는 영속성 컨텍스트(Persistence Context)에 대해서 정리해보고자 합니다. 1. 영속성 컨텍스트란? - 엔

dev-jwblog.tistory.com

 

'Java > JPA' 카테고리의 다른 글

[SpringBoot_JPA_1] create Private Method  (0) 2023.05.27
[SpringBoot_JPA_1] Injection  (0) 2023.05.25
[SpringBoot_JPA_1] FetchType.LAZY, EAGER  (0) 2023.05.25
[SpringBoot_JPA_1] JPA Entity Default Constructor  (0) 2023.05.23
[SpringBoot_JPA_1] @JoinTable  (0) 2023.05.23