마주하게 되는 문제들을 마구잡이로 적다보니 글이 난잡해지는 것 같지만 반드시 기록해야할 문제인 것 같아서 따로 포스트를 작성한다.
오늘 마주친 문제는 Entity 코드와 DB의 설정이 서로 맞지 않을 때 발생하게 되는 문제다.
스프링 부트의 코드를 모두 작성하고 나서 Postman으로 정상 작동을 확인해봤는데 Get은 정상 작동하지만 Post가 위의 에러를 만나는 것을 확인했다.
여기저기 확인해보다가 내 DB 설정과 Entity의 설정이 서로 맞지 않아 발생하는 것을 알게됐다.
내 DB에서는 PK인 id
값이 AUTO_INCREMENT
설정이 되어 있지 않았다. 하지만 Entity 코드는 다음과 같이 되어 있기 때문에 문제가 발생하는 것이었다!
@Id
@Column
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
DataGrip을 통해 DB 설정을 바꿔주니 정상적으로 Post가 됨을 확인할 수 있었다.
create table notice
(
id int not null AUTO_INCREMENT
primary key,
name varchar(20) null,
content varchar(2000) null,
created_time datetime null
);