Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save() 에러 해결

해당 에러메시지는 Spring Data JPA 를 활용했을 때의 상황이었으며,

save() 메소드를 활용해서 더미 데이터를 생성했을 때 발생하였다.

save() 메소드를 부르기 전에 id 값을 할당해줘야 한다는 것 같은데 알고보니 @Id 어노테이션이 붙은 값을 할당을 안했고

Postgresql 의 serial 타입을 활용하기 때문에 DBMS에서는 default로 auto increase 처리하나 JPA에서 이를 인식하지 못하는 것으로 확인했고

결과적으로 serial 타입을 사용하기 위해 @GeneratedValue(strategy = IDENTITY) 어노테이션을 PK 컬럼에 해당하는 엔티티 클래스 변수에 붙여줌으로써문제를 해결할 수 있었다.

댓글

Designed by JB FACTORY