왜냐면 폴링키 제약조건 위배이기 때문인데, 게시글(부모)를 삭제하면서

댓글(자식)이 삭제가 안되면서 위배되기 때문이다.

부모를 삭제 하였는데 댓글은 그대로 남아있으니 남아 있는 댓글이 존재하지 않는 게시글에 연결되어있는 객체가 되는데 이를 고아 객체라고 한다.

고아객체는 자식 객체가 부모 객체를 어떠한 이유(삭제등)등으로 잃은 경우 남은 객체가 고아 객체가 된다.

해결법 세가지

게시글을 지울 때 댓글을 전부 지워줘야 함

댓글의 fk값을 null로 바꾸고 게시글 삭제

어노테이션을 이용하기

어노테이션 사용

Untitled

캐스캐이드 타입 = 리무브로 해둬서 자식(댓글)과 함께 삭제한다.

어노테이션 정리

퍼시스트 = 반대방향 영속화

리무브 = 자식 함께 삭제

Untitled