-
하이버네이트의 네이밍 전략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 파일 기준으로 작성 했습니다.
위의 네이밍 전략을 넣어준다면, 우리가 입력한 이름 그대로 입력됩니다.
반응형'Spring Framework' 카테고리의 다른 글
Entity, DTO 그리고 @Service (0) 2021.07.13 앵귤러, 스프링부트를 이용한 Oauth2 회원가입 문제 (0) 2021.06.23 [Spring Framework]스프링 커맨드 객체 (0) 2021.01.01 서블릿이란? (0) 2020.09.15 [Spring Framework] IoC container / Scope (0) 2020.07.27