오류
could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
원인
@Test
public void delete(){ // 삭제
Optional<Member> member = memberRepository.findById(3L);
Optional<Team> team = teamRepository.findById(2L);
member.ifPresent(selectMember ->{
memberRepository.delete(selectMember);
});
team.ifPresent(selectTeam ->{
teamRepository.delete(selectTeam);
});
}
member(자식)테이블의 컬럼을 삭제하려고 했을때 외래키의 무결성 제약조건에 위배 되어 발생한 오류
해결
부모 키값이 삭제되면 연관된 자식 컬럼도 삭제 시키기 위해 새롭게 외래키 제약조건을 추가 해주거나 기존 제약조건을 삭제 후 추가함