작성
·
251
0
안녕하세요. JPA 영속성 전이와 관련하여 질문드립니다!
목적은 유저가 탈퇴한다고 가정했을때,
User 데이터를 delete할때 그와 관련된(외래키로 엮어져있는) 다른 테이블의 모든 데이터를 같이 삭제하고 싶습니다.
우선 ERD는 아래와 같습니다.
users : apps = 1:N
users: resources = 1:N
app_resources = apps와 resources의 중간테이블(apps:resources = N:M 해결)
resources 슈퍼타입
scenes, avartar 서브타입
scenes: hubs = 1: N
관계입니다.
위와같은 ERD에서 users테이블에 데이터를 삭제할경우 연관된 모든 데이터를 지우기 위해 아래의 사진과 같이 모두 양방향 연관관계를 추가하였습니다.
아래 사진처럼 작성했을경우 정상적으로 user에 관련된 데이터들이 모두 잘 삭제가 됩니다.
그런데 아래와 같이 모든 엔티티에서
@OneToMany 연관관계에 cascade = cascadeType.ALL, orphanRemoval = true 를 사용해도 괜찮은지 질문드립니다!
(화면에 다 넣으려니 잘 안보이네요 ㅠㅠ 확대해서 봐주시면 감사하겠습니다)
답변