NOT FOUND

Spring boot test h2 예약어 문제 / JPA 예약어 필드 사용 방법 본문

카테고리 없음

Spring boot test h2 예약어 문제 / JPA 예약어 필드 사용 방법

이종은 2025. 7. 3. 13:58

테스트 코드 작성 중 "month"가 예약어여서 아래 에러가 났다.

 

could not prepare statement [Syntax error in SQL statement "select ge1_0.id,ge1_0.completed,ge1_0.completed_at,ge1_0.created_at,ge1_0.due_date,ge1_0.[*]month,ge1_0.group_id,ge1_0.title,ge1_0.updated_at,ge1_0.user_id,sg1_0.goal_id,sg1_0.id,sg1_0.completed,sg1_0.completed_changed_at,sg1_0.created_at,sg1_0.importance,sg1_0.title,sg1_0.updated_at,sg1_0.user_id from goals ge1_0 left join sub_goals sg1_0 on ge1_0.id=sg1_0.goal_id and sg1_0.is_deleted=false where ge1_0.is_deleted=false and ge1_0.id=?"; expected "identifier"; SQL statement: select ge1_0.id,ge1_0.completed,ge1_0.completed_at,ge1_0.crea...

 

h2 디비 예약어인건데, 테스트코드때문에 필드명을 바꿀 순 없는 노릇.

 

jpa:
  properties:
    hibernate:
      auto_quote_keyword: true

 

위와 같이 yml 파일에 추가해주면 예약어에 자동으로 백틱을 붙여 사용 가능하게 해준다.