
comments 테이블과 memo table에서의 cascade 설정은 어떻게 하지?
테이블1(Memo)의 특정 행이 삭제될 때 테이블2(Comment)에서 해당 Memo의 id와 일치하는 postId를 가지는 모든 행을 삭제하려면 두 엔터티 간의 관계를 설정하고 CascadeType.REMOVE를 사용해야 한다.
Memo 엔터티에 OneToMany 관계를 설정하면 여러 Comment와 관련될 수 있게 한다.Comment 엔터티에 ManyToOne 관계를 설정하면 하나의 Memo와 연관될 수 있게 한다.하지만 Comment에서 ManyToOne 관계 설정 시 댓글을 삭제하면 게시글도 삭제하는 문제 발생하기에 Memo에서만 설정해야한다.
이렇게 설정시 Memo 엔터티의 특정 행을 삭제할 때 해당 Memo와 연관된 Comment들도 모두 삭제된다. 이는 CascadeType.REMOVE 설정 덕분에 JPA가 자동으로 처리해준다.