JPA - Mysql 컬럼명 대문자 생성이 안될 때

2022. 3. 24. 14:35BackEnd(Java)/Spring Data JPA

 

원인

=> Spring boot의 DB Physical Naming Strategy 때문이었고 DB Physical Naming Strategy은 아래와 같음

모든 도트는 밑줄로 대체, Camel Case 대문자는 밑줄로 대체, 모든 테이블은 소문자로 구성

 

해결 방법

=> Spring Boot의 DB Physical Naming Strategy에서 Hibernate DB Physical Naming Strategy로 변경하여 해결!!

hibernate의 PhysicalNamingStrategyStandardImpl 전략은 설정한 변수 이름을 그대로 사용, @Table에서 지정한 설정대로 그대로 사용 가능하다.

따라서 application.properties에 아래 설정을 추가 하면 해결된다!

spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

출처 : https://velog.io/@gillog/JPA-Spring-Boot-JPA-Entity-Table-%EB%8C%80-%EC%86%8C%EB%AC%B8%EC%9E%90-%EA%B5%AC%EB%B6%84-%EB%AA%BB%ED%95%98%EB%8A%94-%EA%B2%BD%EC%9A%B0-%ED%95%B4%EA%B2%B0

 

[JPA] Spring Boot JPA Entity Table 대, 소문자 구분 못하는 경우 해결

SpringBoot에서 JPA를 통해서 Entity Class에 @Table Annotation으로 DB Table 명을 아래 사진처럼 대문자로 입력했는데, 실제로 Hibernate의 Query 실행 결과를 보니 소문자로 매핑되고 있었고, 대문자로 생성된 Tab

velog.io

 

반응형