Spring
Spring - InvalidDataAccessApiUsageException: No enum constant 에러
codeManager
2022. 7. 13. 18:43
반응형
nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: No enum constant
JPA에서 query 호출 시에 No enum constant enum 에러가 발생하는 경우
원인은 enum에 존재하지 않는 값이 DB에 있기 때문입니다.
DB에서 읽어와서 Object로 변환하는 중 enum에 없는 값이 있기 때문에 에러가 발생합니다.
@Entity
@Table(name = "person")
public class PersonEntity {
@Column(name = "name")
private String name;
@Column(name = "job")
@Enumerated(value = EnumType.STRING)
private JobEnum job;
}
public enum JobEnum {
BACKEND, FRONTEND, DATA_ENGINNER
}
이렇게 model을 생성했을 때 DB에 job이 BACKEND, FRONTEND, DATA_ENGINEER가 아닌 다른 값이 들어간 경우 에러가 발생합니다.
해결 방법
ENUM에 DB에 존재하는 값을 추가하던지, DB에서 enum에 없는 데이터를 삭제하면 됩니다.
반응형