이 글은 김영한의 [실전! 스프링 부트와 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 사이에서 객체를 보관하는 가상의 저장소같은 역할
참고 자료
'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 |