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
'Programing > Framework' 카테고리의 다른 글
[Spring] @Repository Bean에서 예외 변환 없이 전파하기 (1) | 2022.04.23 |
---|---|
[WebFlux] block()/blockFirst()/blockLast() are blocking, which is not supported in thread (0) | 2021.10.27 |
ServletModelAttributeMethodProcessor 와 @PathVariable (0) | 2021.08.22 |
Spring boot: HttpMessageConverters 는 누가 만들어줄까? (0) | 2021.07.23 |
Kotlin DSL Gradle: 멀티 모듈로 변경하기 (0) | 2021.06.11 |