Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

지우쓰 개발일기

[JPA] 영속성 전이, 고아 객체 본문

Spring Boot/JPA

[JPA] 영속성 전이, 고아 객체

jiwoo-kimm 2020. 9. 13. 16:34

본 포스팅은 자바 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
Comments