H2는 'USER'가 예약어

aqualung·2025년 2월 2일
post-thumbnail

테스트 환경에서는 H2의 인메모리 DB를 활용하고 있습니다.

저는 JPA로 USER라는 엔티티를 사용하고 있는데 테스트 중 SQL 문법 오류가 발생했습니다.

찾아보니 2.x.x 버전부터는 USER가 예약어라고 합니다.

해결 방법

  1. @Table(name="users")
    -> 테이블 이름 바꾸기

  2. 테스트 설정파일(application.yml, application.properties) 수정
    ->spring.database.url: jdbc:h2:mem:algo;NON_KEYWORDS=USER

저는 H2를 테스트에서만 쓰고 있고 테이블 이름 자체를 바꾸기 싫어서 테스트 설정파일을 수정해줬습니다.

0개의 댓글