Field 'id' doesn't have a default value 오류

213kky·2023년 5월 19일

문제


위와 같은 오류가 발생하였다.


해결


id의 기본 값이 없다고 하는데 엔티티에서 @GenerateValue 설정이 되어있었다.
mysql을 확인해 보니 id의 AI(Auto Increment)가 해제되어 있었다.
AI를 체크하고 다시 시도해 보니 정상적으로 작동하였다.
mysql에 auto increase설정이 빠졌는지 확인해보자.


추가


이 문제는 application.properties에서 spring.jpa.hibernate.ddl-auto=update 설정이 되어 있기 때문에 발생하였다.
처음 데이터 베이스를 생성해주었지만 처음 설정을 정확히 하지않아 id의 AI가 해제되어있었고 이후에 @GenerateValue 설정을 했지만
update 설정은 기존 데이터베이스 스키마를 수정하는 방식으로 동작하지만, 기본 키 생성 전략을 업데이트하지 않는다고 한다.

profile
since 2022

0개의 댓글