ERROR 24940 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.orm.jpa.JpaSystemException: Null value was assigned to a property [class com.rainyjune.board.entity.User.loginFailCnt] of primitive type : `com.rainyjune.board.entity.User.loginFailCnt` (setter)] with root cause
JPA를 사용한 RestController method 호출시 위와 같은 오류가 발생했다.
Java의 Primitive Type에 Null 값을 넣어서 발생한 오류로
com.rainyjune.board.entity.User.loginFailCnt의 type이 primitive type인데 Null을 넣었다는 것이다.
DB에서 조회한 결과가 loginFailCnt 값이 Null이었나보다.
해당 field를 확인해보니 type은 int로 Java에서 int는 Null값을 허용하지 않는 type이기 때문에 일어나는 현상이다.
해결 방법은 두가지 정도 떠오르는데
- DB의 loginFailCnt에 해당하는 field를 Not Null 혹은 Default값을 준다.
- int 대신 Reference type인 Integer를 사용한다.
나는 Integer를 사용하기로 했다.
이후에 정상적으로 결과가 조회되고 JPA가 결과 object를 반환했다.
'개발 > Spring Boot 학습' 카테고리의 다른 글
글쓰기 페이지 (0) | 2023.03.02 |
---|---|
View Layout (0) | 2023.03.02 |
View Template, MVC (0) | 2023.02.23 |
개발 환경 및 Project 생성 (0) | 2023.02.23 |
Sprint Boot 학습 (0) | 2023.02.23 |