문제 발생
Entity를 만들고 DB를 연결하여 조회를 하려고 했는데
Out of range value for column 에러가 발생했다.
더보기
java.sql.SQLException: Out of range value for column 'service54_7_0_' : value A at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalLong(TextRowProtocol.java:338) at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalInt(TextRowProtocol.java:257) at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getInt(SelectResultSet.java:1022) ...
SQL에서 난 것 같은데 구글링을 아무리해도 안나와서 코드만 한참 들여다봤다.
문제가 있는 코드는 아래 코드였다.
@Column(name = "service", nullable = false)
private ServiceType service;
해결 방법
위 에러는 @Enumerated 어노테이션을 붙이지 않아 발생한 오류였다.
아래와 같이 수정하면 된다.
@Enumerated(EnumType.STRING) // 추가
@Column(name = "service", nullable = false)
private ServiceType service;
너무 기본적인 내용이라 안 나온건지, 구글링을 잘못한 건지 모르겠지만
정말 간단한 이유였는데 이런 부분을 놓쳐서 속상했다.
다음에 코딩할 때에는 사소한 부분도 신경써가며 코딩해야겠다.