cascade 옵션, orphanRemoval 옵션
9개월 전
✏ (강의 링크 - https://inf.run/XKQg)
cascade 옵션 이란?
한 객체가 저장되거나 삭제될 때, 그 변경이 폭포처럼 흘러
연결되어 있는 객체도 함께 저장되거나 삭제되는 기능
유저와 빌린 책 1, 2
유저를 삭제하면 DB에서는 어떤 데이터가 삭제될까?
=> 유저만 사라짐
유저는 사라졌지만 기록은 남아있는 경우가 있어서 기록까지 다 삭제시키는 것이 cascade 옵션
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<UserLoanHistory> userLoanHistories = new ArrayList<>();
orphanRemoval 옵션
유저와 유저가 빌린책 1, 2중 1만 관계를 끊어내어 DB에서 지우고 싶을 때
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
private List<UserLoanHistory> userLoanHistories = new ArrayList<>();
=> 객체간의 관계가 끊어진 데이터를 자동으로 제거하는 옵션
관계가 끊어진 데이터 = orphan (고아)
제가 = removal
댓글을 작성해보세요.