목차
- 비밀번호의 무효화
- entity, dto의 제약조건은 왜 오류가 다를까?
- BeakjoonHub 사용법
1. 비밀번호의 무효화



1. 해결 방법

2. entity, dto의 제약조건은 왜 오류가 다를까?



왜 여기서는 500/ ConstraintViolationException: 으로 나올까
밑에는 dto에 걸었을 때



2. 궁금증 해결 (help. 조용석 튜터님)
DTO에 @Valid를 걸면 요청 바인딩 단계(Controller 들어오기 전) 에서 검증이 실행되어 MethodArgumentNotValidException이 발생하고, 보통 클라이언트 입력 오류로 분류되어 400으로 내려간다.
Entity에 제약을 걸면 Repository save/flush, 트랜잭션 커밋 직전(JPA/Hibernate 영속화 단계) 에서 검증이 실행되어 ConstraintViolationException(또는 TransactionSystemException에 래핑)이 발생한다.
이 단계에서 터진 예외는 스프링 기본 매핑상 “요청 검증 실패”가 아니라 “서버 내부 처리/트랜잭션 실패”로 취급되기 쉬워 500(Internal Server Error) 로 보이는 경우가 많다.
결론: 객체가 달라서라기보다 검증이 발생하는 레이어(전 단계: Web / 후 단계: JPA) 와 예외 처리(매핑) 대상이 다르기 때문이다.
오늘 알고리즘 코드카타에 입성을 하였다.

이런 식으로 일일이 작성하고 있었는데 플로 차트 같은 조였던 현지Park 님이 추천해 주신 BeakjoonHub를 소개해 주셨다. 짱편함....

지금은 프로그래머스에서 진행 하고있는데

제출 후 채점하기를 누르면 자동으로 깃허브에 등록된다. 신세계~~

보면 "프로그래머스"라고 패키지가 생성되면서 자동으로 추가되는 모습!!