Spring Framework

하이버네이트의 네이밍 전략

페페로니피자 2021. 4. 29. 22:29
반응형

1. 서론

스프링에서 하이버네이트 사용을 위해 Entity 파일의 필드이름을 자연스럽게 camelCase로 작성했습니다.

private String userName

하지만 에러가 발생했습니다.

user_name을 찾을 수 없습니다. 

저는 분명히 'userName'이라고 입력했는데, 어떻게 된 일 일까요?


2. 하이버네이트 네이밍 규칙

하이버네이트의 기본적으로 적용되어 있는 규칙은 아래와 같습니다

 

  • dot(.)은 underscore(_)로 대체합니다
  • camelCase는 snake_case로 변합니다
  • 소문자로 작성합니다

 

즉 프로그래머가 필드에서 'userName'이라고 작성하더라도, 하이버네이트는 자동으로 'user_name'으로 변경합니다. snake_case, 소문자 모두 만족하는 네이밍 전략입니다.


3. 그래서 바꿔봅시다

hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

 

위는 yaml 파일 기준으로 작성 했습니다. 

 

위의 네이밍 전략을 넣어준다면, 우리가 입력한 이름 그대로 입력됩니다. 

 

반응형