스프링에서 Enum과 Bean Validation으로 예외 관리하기
2022. 4. 18. 23:41
Spring
서론 개인 프로젝트를 진행하던 중 예외 코드가 하드 코딩으로 관리되고 있어서 방법을 찾아보던 중 세 가지 후보를 고민했다. 설정 파일 DB enum 비지니스 커스텀 예외는 Enum 실무에서는 설정 파일과 DB를 사용했었다. 이미 그렇게 되어있어 고민없이 사용하게 되었다. 이 때 느낀 것은 아래와 같았다. 비지니스 커스텀 예외란 직접 개발자가 throw new 하는 것으로 정의했다. 설정 파일 코드를 직접 문자열로 매핑을 해야한다. 생산성 저하 객체에 매핑하여 사용할 수 있지만 설정 파일을 읽어오기 위한 빈 주입이 필요하기 때문에 번거로울 수 있다. DB 네트워킹이 필요하다. 하지만 처음 메인화면 오픈 시 캐싱해두면 되기 때문에 문제는 아니다. 재적용이 아주 쉽다. 배포가 필요가 없다. 최고의 장점이다. ..
org.springframework.dao.InvalidDataAccessApiUsageException: No enum constant
2021. 10. 3. 14:46
Spring
org.springframework.dao.InvalidDataAccessApiUsageException: No enum constant 이번에 devlogmoa를 운영 중 위와 같은 에러가 발생 했습니다. 왜 발생 했을까? 메시지에 No enum constant에 나와 있듯 enum 상수가 없다는 의미입니다. 그런데 저는 분명 있었습니다. 코드는 위와 같습니다. 분명히 enum이 존재 했습니다. 하지만 저는 리팩토링을 하면서, enum의 Y -> USE, N -> UNSED로 변경 했습니다. 그래서 DB에 Member의 해당 컬럼이 Y, N으로 되어 있어서 위와 같은 에러가 발생했던 것입니다. 이 부분은 완전 처음 겪어보는 상황이었습니다. 휴~ 해결 방법 DB update!!!