인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

jsb568님의 프로필 이미지
jsb568

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

cascade.REMOVE 와 @~toMany

작성

·

136

1

테스트 코드로 

아래와 같이 member 와 member 관계로 many to many 로 걸어놓은 상태로

member 리스트를 지우는 작업을 시도했는데, 

ERROR --- [SimpleAsyncTaskExecutor-44] o.h.e.jdbc.spi.SqlExceptionHelper : ERROR: update or delete on table "member" violates foreign key constraint "fk_member" on table "member_follower"

  Detail: Key (id)=(1) is still referenced from table "member_followers".

member를 참조하고 있는 데이터가 member_follwer테이블에 있어 삭제할 수 없다는 오류가 떴습니다.

cascade.REMOVE는 엔티티가 지워질 때 관련된 엔티티들도 모두 지우는 작업으로 알고 있는데  혹시 ToMany의 경우에는 동작이 안되는 경우도 있는 걸까요?

@Entity
@Table(name = "member")
public class Member extends AuditEntity {

@ManyToMany(cascade = CascadeType.REMOVE)
@JoinTable(name = "member_follower", joinColumns = {
@JoinColumn(name = "member_id")}, inverseJoinColumns = {@JoinColumn(name = "follwer_id")})
private List<Member> follwers;

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. jsb568님

이 부분은 저도 정확히 모르겠습니다.

혹시 아시는 분 있으면 답변 남겨주세요.

감사합니다.

jsb568님의 프로필 이미지
jsb568

작성한 질문수

질문하기