본문 바로가기

트러블슈팅

JPA에서 Join 테이블 전략으로, 상속 관계인 엔터티를 Insert 시, "Cannot insert explicit value for identity column in table '테이블명' when IDENTITY_INSERT is set to OFF." 문제

문제

 

ResourceEntity를 상속받은 FormEntity에 데이터를 입력하여 저장하려고 했더니, 

아래와 같은 에러가 났다.

annot insert explicit value for identity column in table 'TX_ZIMGO_FORM' when IDENTITY_INSERT is set to OFF.

 

문제 원인

ResourceEntity를 상속받은 다른 엔터티들 중 AccountEntity를 살펴보았다.

 

TX_ZIMGO_ACCOUNT의 테이블의 ID 컬럼을 살펴보니, IDENTITY가 없었다.

 

 

반대로, 문제가 되었던 TX_ZIMGO_FORM의 ID 컬럼은 IDENTITY가 있었다.

 

문제 해결

TX_ZIMGO_FORM의 ID 컬럼의 IDENTITY 속성을 없애주고, 테이블을 다시 생성하니 문제가 해결되었다.