본문 바로가기
DEV/JAVA

H2 database GenerationType.IDENTITY 오류

by 땅콩둘기 2022. 6. 21.
반응형

스프링에서 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
반응형

댓글