강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

nickheatlhy님의 프로필 이미지
nickheatlhy

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 설계시 주의점

강의에 나온 테이블 외 이상한 테이블 문의

작성

·

125

0


안녕하세요. 아래와 같이 이상한 테이블이 생기는데 이건 왜 생기는건가요?

 

image.png

 

답변 2

0

안녕하세요. H N님, 공식 서포터즈 y2gcoder입니다.

하이버네이트가 6로 올라감에 따라 추가된 설정으로 보입니다!

다음 링크(클릭)을 참고해주십쇼!

감사합니다.

0

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

H N님께서 강의를 진행하는 동안 예상치 못한 이름의 테이블이 생성되어 문의를 주셨습니다. 이와 같은 현상은 주로 JPA 설정에서 테이블 네이밍 전략이나 자동 생성 기능에 의해 발생할 수 있습니다. 자세한 이유를 파악하기 위해 몇 가지 가능성을 생각해 볼 수 있습니다.

  1. hibernate.hbm2ddl.auto 설정: update 또는 create로 설정되어 있을 경우, JPA는 엔티티 클래스를 기반으로 데이터베이스 테이블을 자동으로 생성하거나 업데이트할 수 있습니다. 이 과정에서 잘못된 매핑이나 설정으로 인해 원치 않는 테이블이 생성될 수 있습니다.

  2. 테이블 접두사(prefix) 설정: @Table 어노테이션이나 Hibernate의 Global 설정에서 디폴트 테이블 네이밍 전략이 사용될 수 있습니다. 예를 들어 physicalNamingStrategy를 사용하여 접두사나 접미사를 추가하도록 설정되었을 수 있습니다.

  3. 개발 환경 특성: H2 데이터베이스를 사용할 때, 이전에 실행된 스크립트나 데이터에 의해서 테이블이 자동으로 생성되거나 남아있을 수 있습니다. 이는 데이터베이스의 특성상 발생할 수 있는 점검 사항입니다.

비슷한 사례와 관련된 답변을 통해 좀 더 구체적인 해결 방안을 찾아보세요:

추가적으로, 엔티티 클래스의 매핑과 설정을 다시 한 번 점검하시거나, 필요하다면 수동으로 테이블을 삭제하고, 설정을 정비한 뒤 다시 생성해 보실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

nickheatlhy님의 프로필 이미지
nickheatlhy

작성한 질문수

질문하기