Programing/Framework
Spring Boot: JPA(Hibernate) 네이밍 전략
나모찾기
2021. 8. 24. 12:27
spring.jpa.hibernate.naming.physical-strategy 및 spring.jpa.hibernate.naming.implicit-strategy 을 통해 테이블 이름이나 컬럼 이름에 대한 네이밍 전략 설정이 가능하다.
네이밍 컨벤션에는 여러가지가 있다.
- camelCase: 앞자는 소문자 단어 사이에 대문자
- PascalCase: camleCase와 같은데 첫 글자가 대문자이다. Initial Capitals, Initial Caps, InitCaps 로도 불린다.
- snake_case: 모든 문자는 소문자(lowercase)로 단어간 구분은 언더스코어(_)로 구분한다.
- kebab-case: 모든 문자는 소문자(lowercase)로 단어간 구분은 대시(-)로 구분한다.
- ALL CAPS: all capitals 의 줄임말로 모든 글자를 대문자로 쓴다.
- strHungarianNotation : 제일 앞에 타입을 가리키는 접두어를 붙인다. Win32 API에서 흔히 볼 수 있었다.
등등..
스프링 부트에서는 기본적으로 물리 네이밍 전략을 SpringPhysicalNamingStrategy 를 사용한다.
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
이 형태는 NamingStrategy 라는 엔티티를 naming-strategy 라는 이름으로 매핑한다.
Hibenate 4에서 이런 형태를 썼다.
출처: 스프링 부트 레퍼런스 12.8.6. Configure Hibernate Naming Strategy
만약 하이버네이트 5의 기본 형태는 PhysicalNamingStrategyStandardImpl 를 설정하면 가능하다.
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl