본문 바로가기
Error

Referential integrity constraint violation

by YoonJong 2022. 11. 26.
728x90

에러내용

 Referential integrity constraint violation: "FK5CDGFSR9ER9P9BVIEJ6Y6DT48: PUBLIC.OPTION FOREIGN KEY(GOODS_ID) REFERENCES PUBLIC.GOODS(GOODS_ID) (CAST(1 AS BIGINT))"; SQL statement:

 

에러원인

부모 -> 자식 이런 관계로 DB가 구성되어 있을 때,

부모를 삭제 시 cascade가 설정되어 있지 않아 상태 변화가 자식에게까지 전해지지 않아 발생한 에러이다.

에러 내용을 보면 OPTION 외래 키와 GOODS_ID 사이에 어떠한 문제가 있어서 발생했다고 생각하고 코드를 다시 한번 보았다.

에러조치

Goods 클래스에 Option 양방향 연관관계를 맺어준 후, cascade 옵션을 통해 부모가 지워지면 자식도 지워지도록 설정했다.

@OneToMany(mappedBy = "goods", cascade = CascadeType.ALL)
private List<Option> options = new ArrayList<>();
728x90

댓글