반응형
스프링에서 H2 Database 연동시에 아래와 같은 코드로 GeneratedValue를 호출했는데...
오류가 났다.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
GeneratedType.IDENTITY 는 기본 키 생성을 데이터베이스에 위임한다.
즉, ID 값을 null로 하면 DB가 알아서 AUTO_INCREMENT 해주니깐 아래와 같은 오류가 나면 안되는데 나고있었다.
org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: NULL not allowed for column "ID"; SQL statement:
알고봤더니 H2버전 문제로 나는 문제였다.
H2 2.xx 버전부터는 application.properties에 ;MODE=MySQL 추가해주면 된다.
spring.datasource.url=jdbc:h2:tcp://localhost/~/test;MODE=MySQL
반응형
'DEV > JAVA' 카테고리의 다른 글
@RequestBody 파싱이 안되고 Null로 나올때 (0) | 2024.03.04 |
---|---|
프로그래머스_LV1_달리기 경주(풀이 및 시간초과 해결하기) (0) | 2023.09.11 |
스프링부트 코딩공작소 - 3장 (2) | 2021.06.03 |
스프링부트 사용하기 (0) | 2021.06.03 |
스프링부트 CLI 시작하기 (0) | 2021.05.19 |
댓글