본문 바로가기

Java, JavaScript/Spring Boot

[Error] ids for this class must be manually assigned before calling save()

728x90

게시글에서 구성원들을 설정하는 기능을 개발하여 테스트를 하던 도중에 다음의 error가 발생하였습니다.

 

nested exception is org.hibernate.id.IdentifierGenerationException: 
ids for this class must be manually assigned before calling save(): 
backend.core.domain.Staff

 

 

error 발생 원인은 EntityManage.save() 함수를 호출하기 전에 id 값이 설정되어 있어야 한다는 것입니다. 따라서 Staff.java의 id 값 설정에 문제가 있을 것을 알 수 있었습니다.

 

문제 해결을 위해서 Staff.java 파일을 열어 id 값을 확인해본 결과 다음의 코드가 작성되어 있었습니다.

 

Staff.java id 값 설정

@GeneratedValue 어노테이션이 설정되어 있어야 하는데 @Generated 어노테이션이 설정되어 있었습니다. 아마 자동 완성 기능을 사용하는 와중에 잘못 설정되었던 것 같습니다.

 

따라서 해당 어노테이션을 @GeneratedValue로 바꿔주는 것으로 error를 해결할 수 있었습니다.

728x90