본문 바로가기
🍃SpringFrameworks/SpringDataJPA

[JPA] Cascade. 영속성 전이

by inbeom 2023. 9. 10.
728x90

 💡 cascade

  • ‘종속’되다는 의미로 서로 관계가 있는 테이블의 속성에 대한 값을 종속 즉, insert, update 등이 같이 실행되어 값이 똑같이 유지되게 한다.

[Option]

ALL ⇒ 모든 Cascade옵션을 적용 (모르겠으면 ALL적용)

PERSIST ⇒ entity를 영속 상태로 만들면, 매핑된 entity도 함께 영속 상태가 됨 (insert)

MERGE ⇒ 준영속 상태의 entity를 영속 상태로 만들면, 매핑된 entity도 모두 영속 상태가 됨 (save)

REMOVE ⇒ entity를 제거하면 매핑된 entity도 모두 제거

REFRESH ⇒ entity를 다시 읽어올 때, 매핑된 entity도 모두 다시 읽어옴

DETACH ⇒ entity를 준영속 상태로 만들면, 매핑된 entity도 준영속 상태가 되어 entity manager가 관리하지 않음

 

Ex>

Book Entity

  • Publisher - < Book
@ManyToOne(cascade = { CascadeType.PERSIST, Cascade.MERGE } )
private Publisher publisher;

Book 엔티티에 insert, merge(save) 할 때 Publisher 엔티티도 같이 insert, merge(save) 하겠다는 뜻이다.

728x90

'🍃SpringFrameworks > SpringDataJPA' 카테고리의 다른 글

[JPA] 주요 개념  (0) 2023.09.10
[JPA] 고아 객체 제거(OrphanRemoval)  (0) 2023.09.10
[JPA] JPA - MySQL 연동  (0) 2023.09.10
[JPA] 1:N Relation. 관계 설정  (0) 2023.09.10
[JPA] 1:1 Relation. 관계 설정  (0) 2023.09.10