👩🏻‍💻📝

[JPA] [MySQL] @GeneratedValue AUTO vs IDENTITY 문제 해결

_silver 2025. 9. 11. 14:45

 

에러가 발생했다.

 

뭐가 문제일까 댓글이 달리다가 어느 순간 막혔다...

 


Post에는

자동으로 숫자를 증가시키는 AUTO_INCREMENT 있다... 근데

 


Comments에는 어디에도 없다.

그래서 일까?

 

그러면 추가해 봐야겠다.

 


## AUTO_INCREMENT 적용기

 

1. 문제점 찾기

Comment에서 발생한 문제니깐 백엔드 코드를 처음부터 둘러 보았다.

entity부터 봤는데 바로 나와 버렸다.

 

(뭐지 저거)

 

GenerationType.AUTO

 

 

이유가 나온거 같다

MySQL인데,

DB 테이블에 AUTO_INCREMENT가 안 붙어 있어서 AUTO가 동작하다가

Hibernate가 직접 id를 넣으려 했고, 결국 중복 PK 충돌이 났다.

 

 

코드를 다시 수정하고

GenerationType.IDENTITY

 

장점:

- Hibernate는 INSERT할 때 id를 아예 안 넣고, DB가 자동으로 채워 준 값을 받아온다!

- AUTO_INCREMENT만 붙어 있으면 PK 충돌 없이 안전하게 동작한다!

 

결론:

- MySQL의 정.석.

 

Database Comment Table을 Drop 시키고 다시 Refresh 시켰다.(깔끔)

 

 

역시 결과는 좋았고,

 

 

 

2. 결론

지나간것도 다시보자