인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

jh011007님의 프로필 이미지

작성한 질문수

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

엔티티 클래스 개발2

HTE 테이블 생성

작성

·

197

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

H2에 연동해서 테이블을 생성하면 이렇게 HTE 테이블도 자동으로 생성이 됩니다. 코드는 강의 자료에 있는 그대로 했는데도 이렇게 뜨는데 HTE 테이블이 왜 생기는 걸까요?

image.png


답변 2

0

y2gcoder님의 프로필 이미지

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

다음 링크(클릭) 을 참고해보시겠습니까?

 

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

H2 데이터베이스 활용 시 예상치 못하게 HTE_로 시작하는 테이블이 생성된 문제를 겪고 계신 것 같습니다. 이러한 테이블은 일반적으로 하이버네이트가 쿼리 실행 중에 사용한 후 삭제할 작업 테이블일 가능성이 있습니다. 하지만 이 테이블들이 남아 있을 때도 있으며, 이는 하이버네이트가 테이블을 삭제하지 않고 남겨두는 경우 발생할 수 있습니다.

  1. 임시 테이블: HTE_로 시작하는 테이블은 하이버네이트가 내부적으로 관리하거나, 쿼리 최적화 등의 과정에서 생성하는 임시 테이블일 수 있습니다.

  2. 환경 설정 확인: 예기치 않은 테이블 생성을 막기 위해 spring.jpa.hibernate.ddl-auto 설정을 체크하세요. 이 설정이 createcreate-drop으로 되어 있으면 시작 시 테이블을 새로 만들거나 드롭 후 생성할 수 있습니다.

  3. 삭제 방법: 필요하지 않은 테이블이라면 수동으로 삭제할 수도 있습니다. 이는 H2 콘솔에서 실행하거나, 초기화 SQL 스크립트를 사용하여 애플리케이션 시작 시 이 테이블을 드롭하도록 할 수 있습니다.

비슷한 상황에 대한 해결 방법과 조언을 받은 다른 예시는 다음 링크에서도 확인하실 수 있습니다:

이들이 이슈 해결에 도움이 되길 바랍니다. 추가 문의사항이 있거나 하이버네이트의 기타 설정 관련하여 도움 필요하신 부분이 있으면 언제든지 질문해 주세요.

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

jh011007님의 프로필 이미지
jh011007
질문자

애초에 저게 안 생기게 하는 방법은 없나요?

jh011007님의 프로필 이미지

작성한 질문수

질문하기