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 → 부모 엔티티를 통해 자식 엔티티 생명주기를 관리할 수 있다.