티스토리 뷰
스프링 부트 버전이 2.7.0으로 올라가면서 H2 버전도 같이 2.x.x로 변경되었는데, 이전에 예약어가 아니었던 year
가 예약어가 되어 애플리케이션이 깨지는 현상이 발생하였습니다.
근본적인 해결 방법은 예약어 컬럼명을 따옴표(quote)를 감싸는 것인데 이렇게 처리하기 위한 몇 가지 방법을 소개합니다.
@Column 애너테이션 내 따옴표(") 사용
이전에는
@Column(name="open")
이렇게 예약어를 사용하는 경우
@Column(name="`open`")
백틱을 추가하는 방식으로 해결 가능했었는데요,
이제는
@Column(name="\"year\"")
이런식으로 따옴표를 추가하여 해결할 수 있습니다.
설정 변경
hibernate의 설정을 추가하여 해결할 수 있습니다.
hibernate.auto_quote_keyword=true
이 속성을 추가하면 모든 예약어에 대해 따옴표를 추가합니다.
스프링 부트에 적용하려면 아래 처럼 설정할 수 있습니다.
jpa.properties.hibernate.auto_quote_keyword=true
jpa:
properties:
hibernate:
auto_quote_keyword: true
hibernate.globally_quoted_identifiers=true
이 속성을 추가하면 모든 DB identifier에 대해 따옴표를 추가합니다.
'JPA' 카테고리의 다른 글
[JPA] 양방향 연관관계 (0) | 2022.06.29 |
---|---|
[JPA] 단방향 연관관계 (0) | 2022.06.28 |
[JPA] 사용시 연관관계가 필요한 이유 (0) | 2022.06.25 |
스프링 데이터 JPA - 새로운 Entity 판별 (3) | 2021.07.14 |
스프링 데이터 JPA - JPA 구현체 분석 (0) | 2021.07.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- leetcode
- gRPC
- JPA
- 헥사고날 아키텍처
- proto3
- r
- 스프링 데이터 jpa
- 스프링 부트 애플리케이션
- 스프링 부트
- Spring Data JPA
- @ManyToOne
- spring boot jwt
- Spring Boot
- 스프링 부트 튜토리얼
- JSON
- 스프링 부트 회원 가입
- Jackson
- Spring Boot Tutorial
- intellij
- 클린 아키텍처
- Linux
- Spring Boot JPA
- Java
- 알고리즘
- 함께 자라기
- 함께 자라기 후기
- spring boot app
- 스프링부트
- QueryDSL
- spring boot application
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함