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