comments 테이블과 memo table에서의 CascadeType 연동 문제

song yuheon·2023년 9월 2일
0

Trouble Shooting

목록 보기
9/57
post-thumbnail

문제 상황


comments 테이블과 memo table에서의 cascade 설정은 어떻게 하지?


해결 방법


Jpa CaseCade 참고 사이트


테이블1(Memo)의 특정 행이 삭제될 때 테이블2(Comment)에서 해당 Memoid와 일치하는 postId를 가지는 모든 행을 삭제하려면 두 엔터티 간의 관계를 설정하고 CascadeType.REMOVE를 사용해야 한다.


  • Memo 엔터티에 OneToMany 관계를 설정하면 여러 Comment와 관련될 수 있게 한다.
  • Comment 엔터티에 ManyToOne 관계를 설정하면 하나의 Memo와 연관될 수 있게 한다.

하지만 Comment에서 ManyToOne 관계 설정 시 댓글을 삭제하면 게시글도 삭제하는 문제 발생하기에 Memo에서만 설정해야한다.

이렇게 설정시 Memo 엔터티의 특정 행을 삭제할 때 해당 Memo와 연관된 Comment들도 모두 삭제된다. 이는 CascadeType.REMOVE 설정 덕분에 JPA가 자동으로 처리해준다.

profile
backend_Devloper

1개의 댓글

comment-user-thumbnail
2024년 9월 14일

Fireboy and Watergirl Game is a series of online puzzle platformer games developed by Oslo Albet.

답글 달기