작성
·
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;