목차
트러블슈팅
1. JPA @Enumerated 기본 전략으로 인해 ENUM이 숫자로 저장되는 문제
에러로그
found [varchar (Types#VARCHAR)], but expecting [smallint (Types#TINYINT)]
원인
JPA에서 @Enumerated 애너테이션을 사용할 때 기본값이 EnumType.ORDINAL이기 때문에, ENUM이 순서 값(숫자)으로 DB에 저장
이유
EnumType.ORDINAL은 ENUM의 선언 순서를 정수로 저장하여 성능은 좋지만, ENUM의 순서가 변경되면 데이터 불일치 문제가 발생할 수 있음.
이를 방지하기 위해 @Enumerated(EnumType.STRING)을 명시하면, ENUM 이름이 문자열로 저장되어 유지보수성과 안정성이 높아짐
728x90
'Growth & Practice > Today I Learned' 카테고리의 다른 글
| [트러블슈팅] SpringBoot + Nginx(reverse proxy) 문제 (0) | 2025.11.07 |
|---|---|
| [트러블슈팅] Spring Security 인증 없이 채널 목록 화면이 보이는 문제 (0) | 2025.10.02 |
| [TIL] Postman multipart 오류 해결 + CSRF, HttpOnly 쿠키 개념 (0) | 2025.09.30 |
| [트러블슈팅] RSS 수집 오류 해결 (0) | 2025.09.16 |
| [트러블슈팅] merge는 신중히... (1) | 2025.09.05 |