시작
오늘 Entity 하나를 만들 때 낯선 오류를 발견했다. 최근에 복합키를 이용한 Entity를 만들어서 그런지 Auto-Increment를 이용한 Entity를 만들고자했들고자 했을 때, insert into Table values 가 먹히지 않은 것이었다. 그래서 한번 찾아보고 공부해봤다.
사건
![jpa1 jpa1](/static/0fbad8b9dc66d6b7e4ede9a511dde146/96e9b/jpa1.png)
- Entity
![jpa2 jpa2](/static/3339f050f2bca22add894f5ba48d5efa/40f84/jpa2.png)
- 스키마
위의 코드처럼 Entity를 만들었고 GenerationType을 AUTO로 넣어주었다. MySQL Bench를 열어 Insert를 해준결과..
![jpa3 jpa3](/static/d722d7815e2b219cb9ca4d99a106afbd/7c811/jpa3.png)
짜잔 ! insert가 되지 않고 에러를 뿜어냈다. 이유가 무엇일까?
Insert into table values 가 먹히지 않은 이유
- Hibernate 5 버전의 전
![jpa5 jpa5](/static/a6de903af04164326cbd4ec45c471226/8c3ad/jpa5.png)
- Hibernate 5 버전의 후
결론 - GenerationType.IDENTITY 를 쓰자
-
Entity
-
테이블 스키마
-
insert 결과