[Spring, JPA] 연관관계 매핑된 테이블 컬럼 삭제 시, 양 테이블값이 같이 삭제되는 문제 발생

19·2022년 6월 30일
0

에러 모음

목록 보기
2/29

COCO 프로젝트 게시글 삭제 API 구현 중, 문제가 발생했다.
회원이 작성한 게시글을 삭제해야 하는데, 게시글이 하나만 있을 때, 이 게시글을 삭제하면 회원도 같이 삭제되는 문제가 발생했다.

| Post.java

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Post extends Timestamped {
    ...
    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "MEMBER_ID")
    private Member member;
    ...
}
  • cascade 옵션이 붙어있기 때문에, Post 삭제 시, 연관된 Member도 함께 삭제되는 듯 했다.

Post 엔티티에서 Member 필드의 cascade 옵션을 해제하니까 해결됐다.

@ManyToOne()
@JoinColumn(name = "MEMBER_ID") // 외래키와 매핑
private Member member;
profile
하나씩 차근차근

0개의 댓글