ABAP DUMP ERROR 24시

영속성 전이 :CASCADE 본문

[WEB]Back-end/JPA

영속성 전이 :CASCADE

이운형 2022. 1. 17. 17:23
반응형

# 인프런 김영한의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 개인적으로 정리한 글입니다.

 

 

정리


Q . 영속성 전이 : CASCADE가 뭐야?

A : 부모 Entity를 영속상태(em.persist)로 만들때 자식 Entity도 영속 상태로 만들고 싶을 때 사용한다.

==단지 엔티티의 영속화를 편하게 하기 위함이야.

 

Q . 주의 할점은 뭐야 ?

A : 연관관계를 DB와 Mapping하는것과는 아무런 상관이 없다! = 단지 영속화 할때 편리함을 더해주는 역할만 한다.

@OneToMany(cascade = CascadeType.ALL,orphanRemoval = true)
@JoinColumn(name = "member_id")
private List<AddressEntity> addressHistory = new ArrayList<>();


다음과 같이 연관관계 어노테이션 사용시 옆에 다음 옵션을 추가하여 사용한다.

 

Q . 고아 객체는 뭐야?

A  : 부모 엔티티와 연관관계가 끊어진 자식엔티티를 말해! // 호적에서 사라진 아이들

 

 

Q . 고아 객체 제거시 주의할 점은 뭐야?

A : 특정 엔티티가 개인 소유할 경우에만 사용해야해!

즉 : Parent 와 Child 엔티티의 Lifecycle이 유사할때 사용해야해

단일 Parrent 만이 Child를 소유할때, 그리고 다른 Entity가 Child를 소유하지 않을때!

// 같은 가문일 때만 사용가능해

 

 

살펴보기


CASCADE의 종류는 다음과 같다.

• ALL: 모두 적용

• PERSIST: 영속

• REMOVE: 삭제

• MERGE: 병합

• REFRESH: REFRESH

• DETACH: DETACH

 

 

 

 

반응형

'[WEB]Back-end > JPA' 카테고리의 다른 글

컬렉션 값 타입 (Collection value type)의 한계  (0) 2022.01.20
Embedded 타입  (0) 2022.01.17
Proxy 어떻게 최적화해?  (0) 2022.01.14
JPA Proxy가 뭐야? 왜 사용해?  (0) 2022.01.13
다양한 연관관계 매핑  (0) 2022.01.10
Comments