inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

JPA physical-strategy 변환이 안되는 이유가 어떤게 있을까요???

1305

gpjun7

작성한 질문수 1

0

안녕하세요.

 

스프링부트3 기반으로 api 프로젝트를 셋팅 중 입니다.

 

그런데 셋팅 중 physical-strategy 이 제대로 동작하지 않아서 이것저것 해보다가

도움을 구해보고자 글을 올리게 되었습니다.

 

 

우선 프로젝트 환경은

스프링부트 = 3.2.2

하이버네이트 = 6.3.1.Final

Java = corretto17

입니다.

 

config.pngapplication.yml 은 이렇게 설정되어 있습니다.

 

Entity는 카멜케이스로 작성이 된 상태 입니다.

code.png

 

DB는 스네이크로 네이밍이 되어 있는 상태입니다.

 

그런데 JPA 조회 쿼리를 날리면

계속 카멜케이스로 조회가 되면서 오류가 발생해서

이것저것 해보는데 해결이 안되서 도움을 구해보고자 합니다.

 

혹시 뭔가 놓치고 있는게 있을까요???

스프링부트3 jpa hibernate strategy java mysql

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

문의해주신 내용을 확인해보니, 스프링 부트 3 버전에 Hibernate 6 버전을 사용하고 계시며, Java는 Corretto17을 사용하신다고 하셨습니다. 그리고 physical-strategy 속성으로 org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy를 설정하셨음에도 불구하고, 카멜케이스로 작성된 엔티티가 DB에서 스네이크 케이스로 컬럼에 맵핑되지 않아 문제를 겪고 계시는 것으로 이해됩니다.

적절한 네이밍 전략 설정에도 불구하고 문제가 발생한다면, 다음과 같은 가능성을 확인해보실 수 있습니다:

  1. spring.jpa.hibernate.naming.physical-strategy 설정이 올바르게 application.yml 파일에 적용되었는지 확인해보세요. application.yml 파일의 포맷이나 들여쓰기, 설정명이 정확한지 다시 한 번 검토해 주시길 바랍니다.

  2. 설정한 NamingStrategyEntityManagerFactory 생성 시점에 실제로 적용되고 있는지 확인하십시오. 때로는 다른 설정이나 커스텀 코드가 NamingStrategy를 덮어쓸 수 있습니다.

  3. 프로젝트 내 다른 설정파일이 있는 경우(예: application.properties, 프로필 별 설정 파일 등), 그 설정들이 application.yml과 충돌하고 있지는 않은지 확인하십시오.

  4. Hibernate 설정이 자동 구성되지 않는 경우엔 매뉴얼로 빈(Bean)을 등록하여 재정의할 수도 있습니다. MyHibernateConfiguration 클래스를 생성하여 CamelCaseToUnderscoresNamingStrategy의 커스텀 빈을 생성하는 예제 코드가 문서에 제공되어 있으니, 참고하셔서 적용해보실 수 있습니다.

  5. JPA 자동 구성(SpringBootApplication 똑 구성 등) 설정을 검토해보시길 바랍니다. 때때로 자동 구성이 예상과 다르게 적용되어 문제를 일으킬 수 있습니다.

제공해주신 Spring Boot 참고 문서 링크를 활용하여, 보다 자세한 설정 방법과 예시를 확인해보실 수 있습니다:

더불어 EntityManager 생성 전 HibernatePropertiesCustomizer 빈 등록을 통해 고급 커스터마이징이 가능하다는 점, 자동 구성되는 HibernateJpaAutoConfigurationJpaBaseConfiguration 활용도 고려해보실 수 있습니다.

이미 설정을 잘 해두셨다면, 런타임에 실제로 어떻게 반영되는지 확인하기 위해 디버깅을 수행해보시는 것도 좋은 방법입니다.

아직 해결이 안 되신다면, 위의 문서 링크를 참고하시어 전략을 재설정해보시는 것을 추천드립니다.

섹션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