SQL Error: 1451, SQLState: 23000

yeop·2023년 7월 5일

회원 탈퇴 시 발생한 에러

  • User Entity 상태 업데이트 시, User Entity에 ManyToOne(One이 User)으로 매핑되어 있는 객체들을 처리하는 규칙이 정해져 있지 않아 발생하는 에러이다.

  • 이런 경우 User 객체를 삭제하기 전에 먼저 관련 객체들을 모두 삭제해야 한다.

    @Override
    public void withdrawalUser(User user) {
        try {
            userLectureRepository.deleteAllByUser(user);            |
            userNotificationRepository.deleteAllByUser(user);        > 추가
            tokenRepository.deleteAllByUser(user);                  |
    
            userRepository.deleteById(user.getId());
        } catch (Exception e){
            throw new BaseException(Code.WITHDRAWAL_FAILED);
        }
    }

0개의 댓글