PropertyValueException 해결

귀찮Lee·2022년 10월 4일
0

Error Handling Log

목록 보기
8/8

◎ 문제 상황

  • Entity를 통해 update시 발생
    org.hibernate.PropertyValueException: not-null property references a null or transient value

◎ 해결 방안

  • 문제 원인

    • Entity 설정에서 nullable을 false로 해둔 필드에 null값을 넣고 저장하려 하여 발생함
    @Service
    @RequiredArgsConstructor
    @Transactional
    public class CommentServiceImpl implements CommentService{
    
        private final CommentRepository commentRepository;
    
        @Override
        public Comment updateComment(Comment comment) {
            Comment findComment = findVerifiedComment(comment.getCommentId());
            checkStudyStatusIsRecruitProgress(findComment.getStudy());
            if (findComment.getCommentStatus() == Comment.CommentStatus.COMMENT_DELETE)
                throw new BusinessLogicException(ExceptionCode.COMMENT_DELETED);
    
            Optional.ofNullable(comment.getContent())
                    .ifPresent(content -> findComment.setContent(content));
            return commentRepository.save(comment); // comment 대신 findComment를 저장하여야 함 (일종의 오타)
        }
    
        ...
    }
  • 해결 방안

    • comment 대신에 findComment를 넣어서 해결함

◎ 참고 자료

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글