인프런 커뮤니티 질문&답변

789456jang님의 프로필 이미지
789456jang

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

부모-자식 엔티티의 비동기 처리

해결된 질문

작성

·

257

1

안녕하세요. 공부를 하다가 궁금한 점이 생겨서 질문 남깁니다.

@Async 어노테이션에 대한 질문입니다. 현재 부모(게시글) - 자식(댓글) 의 1대다 단방향 연관관계를 가지는 상황에서 cascade.REMOVE 같은 기능을 사용하면 부모가 삭제될 때 자식을 함께 삭제해 주지만, 부모 우선 삭제하여 응답을 내어주고 자식은 비동기적으로 삭제 처리를 하면 좋지 않을까 생각하여 구현을 해보았는데 에러가 발생하여 질문 드립니다.

연관관계가 맺어져 있는 부모 자식 객체간에 삭제를 할 때는 자식객체가 무조건 먼저 삭제된 후에 부모 객체의 삭제를 진행하는 것이 올바른 서순일까요?

답변 1

1

안녕하세요. 789456jang님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 외래키가 걸려있는 연관관계에서는 Cascade 와 같은 옵션을 걸어주지 않았을 때, 자식 객체를 먼저 삭제하고 그 다음 부모 객체를 삭제할 수 있습니다. 이는 DB 테이블의 제약조건 때문입니다.

감사합니다.

789456jang님의 프로필 이미지
789456jang

작성한 질문수

질문하기