지우쓰 개발일기
[JPA] 영속성 전이, 고아 객체 본문
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다.
자바 ORM 표준 JPA 프로그래밍
에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다.
www.aladin.co.kr
Transitive Persistence
-
@{연관관계}(cascade = CascadeType.PERSIST)
-
부모 클래스 영속 상태 → 자식 클래스 자동으로 영속 상태
-
-
@{연관관계}(cascade = CascadeType.REMOVE)
-
부모 클래스 삭제 → 자식 클래스 자동으로 삭제
-
삭제 순서는 자식 → 부모
-
-
다중 CascadeType
-
cascade = {CascadeType.PERSIST, CascadeType,REMOVE}
-
Orphan Removal
-
ORPHAN: 부모 엔티티와 연관관계가 끊어진 자식 엔티티
-
@{연관관계}(orphanRemoval = true)
-
부모 엔티티에서 자식 엔티티 참조 삭제 → 자식 엔티티 자동으로 삭제
-
부모 엔티티 삭제 → 자식 엔티티 자동으로 삭제
-
연관관계는 Owner가 하나인 @OneToOne, @OneToMany여야 한다.
-
💡 CascadeType.ALL + orphanRemoval = true → 부모 엔티티를 통해 자식 엔티티 생명주기를 관리할 수 있다.
'Spring Boot > JPA' 카테고리의 다른 글
[JPA] 객체지향 쿼리 개요 (0) | 2020.09.15 |
---|---|
[JPA] 값 타입 (0) | 2020.09.13 |
[JPA] Proxy, Eager Loading, Lazy Loading (0) | 2020.09.13 |
[JPA] Entity Mapping (0) | 2020.09.13 |
[JPA] @SecondaryTable (0) | 2020.09.13 |