
Published 2022. 9. 22. 23:55
Error Mesage
[Vue Warn]: Error in v-on handler (pomise/async):
"AxiosError: vue.runtime.esm.js?c320:4573 Request failed with status code 500"
Hibernate: insert into product (category, content, image, price, reg_date, title, upd_date, writer) values (?, ?, ?, ?, ?, ?, ?, ?)
2022-09-22 21:55:35.122 WARN 20472 --- [nio-8888-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1364, SQLState: HY000
2022-09-22 21:55:35.122 ERROR 20472 --- [nio-8888-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Field 'product_no' doesn't have a default value
2022-09-22 21:55:35.137 ERROR 20472 --- [nio-8888-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement] with root cause
java.sql.SQLException: Field 'product_no' doesn't have a default value
Vue에서 Spring 서버로 입력받은 데이터를 전송하려고 하는데 이런 에러 메세지가 떴다.
필드에 기본값이 없다는 에러인데, 같은 에러를 구글링해서 온갖 포스팅을 다 뒤졌지만 . .
나랑 완전히 같은 상황인 포스팅은 못 찾았던 것 같다.
Spring에 jpa를 연결해서 쓰다 보니 무슨 MySQL 테이블에 가서 뭘 적어주든 수정하든. . 그런 게 뭔지 모르겠는 것. . !
혹시 테이블이 제대로 생성이 안된 건가 싶어서
MySQL Command Line Client 열어서 테이블 생성 여부를 확인했는 데 있다.
테이블은 있지만 안에 데이터는 없는 상태 (당연함 데이터 넣기 전에 오류남)
원인
아직까지 정확한 원인 모르겠음 🥲
해결방법
테이블 지웠다가 서버 재구동 하기!!!
drop table [table_name];
이렇게 테이블을 삭제했다가 Spring 서버를 재구동 해줬다.
그럼 자동으로 테이블이 다시 생성되는 걸 볼 수 있다.
입력받은 데이터도 잘 들어온다.