JPA physical-strategy 변환이 안되는 이유가 어떤게 있을까요???
1305
작성한 질문수 1
안녕하세요.
스프링부트3 기반으로 api 프로젝트를 셋팅 중 입니다.
그런데 셋팅 중 physical-strategy 이 제대로 동작하지 않아서 이것저것 해보다가
도움을 구해보고자 글을 올리게 되었습니다.
우선 프로젝트 환경은
스프링부트 = 3.2.2
하이버네이트 = 6.3.1.Final
Java = corretto17
입니다.
application.yml 은 이렇게 설정되어 있습니다.
Entity는 카멜케이스로 작성이 된 상태 입니다.

DB는 스네이크로 네이밍이 되어 있는 상태입니다.
그런데 JPA 조회 쿼리를 날리면
계속 카멜케이스로 조회가 되면서 오류가 발생해서
이것저것 해보는데 해결이 안되서 도움을 구해보고자 합니다.
혹시 뭔가 놓치고 있는게 있을까요???
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
문의해주신 내용을 확인해보니, 스프링 부트 3 버전에 Hibernate 6 버전을 사용하고 계시며, Java는 Corretto17을 사용하신다고 하셨습니다. 그리고 physical-strategy 속성으로 org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy를 설정하셨음에도 불구하고, 카멜케이스로 작성된 엔티티가 DB에서 스네이크 케이스로 컬럼에 맵핑되지 않아 문제를 겪고 계시는 것으로 이해됩니다.
적절한 네이밍 전략 설정에도 불구하고 문제가 발생한다면, 다음과 같은 가능성을 확인해보실 수 있습니다:
spring.jpa.hibernate.naming.physical-strategy설정이 올바르게application.yml파일에 적용되었는지 확인해보세요.application.yml파일의 포맷이나 들여쓰기, 설정명이 정확한지 다시 한 번 검토해 주시길 바랍니다.설정한
NamingStrategy가EntityManagerFactory생성 시점에 실제로 적용되고 있는지 확인하십시오. 때로는 다른 설정이나 커스텀 코드가NamingStrategy를 덮어쓸 수 있습니다.프로젝트 내 다른 설정파일이 있는 경우(예:
application.properties, 프로필 별 설정 파일 등), 그 설정들이application.yml과 충돌하고 있지는 않은지 확인하십시오.Hibernate 설정이 자동 구성되지 않는 경우엔 매뉴얼로 빈(Bean)을 등록하여 재정의할 수도 있습니다.
MyHibernateConfiguration클래스를 생성하여CamelCaseToUnderscoresNamingStrategy의 커스텀 빈을 생성하는 예제 코드가 문서에 제공되어 있으니, 참고하셔서 적용해보실 수 있습니다.JPA 자동 구성(
SpringBootApplication똑 구성 등) 설정을 검토해보시길 바랍니다. 때때로 자동 구성이 예상과 다르게 적용되어 문제를 일으킬 수 있습니다.
제공해주신 Spring Boot 참고 문서 링크를 활용하여, 보다 자세한 설정 방법과 예시를 확인해보실 수 있습니다:
- 네이밍 전략을 설정하는 방법: Configure Hibernate Naming Strategy
더불어 EntityManager 생성 전 HibernatePropertiesCustomizer 빈 등록을 통해 고급 커스터마이징이 가능하다는 점, 자동 구성되는 HibernateJpaAutoConfiguration과 JpaBaseConfiguration 활용도 고려해보실 수 있습니다.
이미 설정을 잘 해두셨다면, 런타임에 실제로 어떻게 반영되는지 확인하기 위해 디버깅을 수행해보시는 것도 좋은 방법입니다.
아직 해결이 안 되신다면, 위의 문서 링크를 참고하시어 전략을 재설정해보시는 것을 추천드립니다.
섹션2, 대화&세션관리 수업 자료 누락
0
5
1
영상 다운로드는 안되나요?
0
11
0
IntelliJ IDEA 체험 만료
0
12
1
부하 테스트 시 설정 관련 질문드립니다
1
24
1
HelloSpringApplication.java 클래스 실행 오류
0
12
1
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
28
1
예외처리 3강 문의
0
27
1
챌린지 시작일 문의
0
39
0
Inner class로 Config를 지정하는 이유
0
28
1
sakila 실전 17번 문제
0
22
1
복합인덱스 설계 질문
0
54
1
26년2회 실기기출은 언제쯤...
0
57
2
네이버 API | '검색 - 책' API 제공 중단
0
41
2
ArticleReadService 관련 질문
0
30
1
마스터패스...
0
39
1
kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.
1
70
1
이론 공부법 요약본 버전 업데이트 문의
0
38
2
domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다
1
52
1
해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.
0
26
1
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
47
2
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
32
1
Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면
1
80
1
리뉴얼 시기
0
51
2
스크립트에 대해 질문 있습니다.
1
60
1





