JAVA/spring
SpringBoot + JPA + Mysql error
kiwiiiv
2022. 1. 17. 22:54
계속 h2 데이터베이스만 사용하다가 이번에 처음 mysql 연동을 해보았는데..
설정 파일만 몇 번 만지작거려서 바꿔주면 되는 줄 알았는데 아니었다..
삽질삽질을 함
환경 : intellj + maven project
1) 'hibernate_sequence' doesn't exist
ID 필드 부분에
@GeneratedValue(strategy = GenerationType.AUTO)
위와 같이 설정하였을 때 나오는 문제이다.
구글링을 해 보니 hibernate5 이후 버전부터 Auto type 생성전략을 TABLE 전략으로 바뀌어 작동하기 때문에 발생하는 오류라고 한다..
따라서 위의 설정을
@GeneratedValue(strategy = GenerationType.IDENTITY)
이와 같이 수정하여 해결하였다.
+
spring:
jpa:
datebase-platform: org.hibernate.dialect.MySQL5InnoDBDialect
show_sql: true
properties:
hibernate:
format_sql: true
use-new-id-generator-mappings: false
application.yml 파일의 use-new-id-generator-mappings 부분을 false로 바꾸어도 해결된다고 함.
(하지만 내가 했을 땐 해결 안됐음..)
기본 키를 매핑하는 IDENTITY, AUTO, SEQUENCE 방식에 대하여
https://hyeonic.tistory.com/m/196
[JPA] H2의 @GeneratedValue 문제
개요 프로젝트를 진행하던 도중 아직 User 관련된 기능들이 완성되지 않아서 DB에 초기값을 insert하기 위해 웹 서버를 실행하는 시점에 값을 insert 하기로 결정하였다. 필요한 파일과 설정 준비 우
hyeonic.tistory.com