작성
·
197
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
H2에 연동해서 테이블을 생성하면 이렇게 HTE 테이블도 자동으로 생성이 됩니다. 코드는 강의 자료에 있는 그대로 했는데도 이렇게 뜨는데 HTE 테이블이 왜 생기는 걸까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. jh011007님.
H2 데이터베이스 활용 시 예상치 못하게 HTE_
로 시작하는 테이블이 생성된 문제를 겪고 계신 것 같습니다. 이러한 테이블은 일반적으로 하이버네이트가 쿼리 실행 중에 사용한 후 삭제할 작업 테이블일 가능성이 있습니다. 하지만 이 테이블들이 남아 있을 때도 있으며, 이는 하이버네이트가 테이블을 삭제하지 않고 남겨두는 경우 발생할 수 있습니다.
임시 테이블: HTE_
로 시작하는 테이블은 하이버네이트가 내부적으로 관리하거나, 쿼리 최적화 등의 과정에서 생성하는 임시 테이블일 수 있습니다.
환경 설정 확인: 예기치 않은 테이블 생성을 막기 위해 spring.jpa.hibernate.ddl-auto
설정을 체크하세요. 이 설정이 create
나 create-drop
으로 되어 있으면 시작 시 테이블을 새로 만들거나 드롭 후 생성할 수 있습니다.
삭제 방법: 필요하지 않은 테이블이라면 수동으로 삭제할 수도 있습니다. 이는 H2 콘솔에서 실행하거나, 초기화 SQL 스크립트를 사용하여 애플리케이션 시작 시 이 테이블을 드롭하도록 할 수 있습니다.
비슷한 상황에 대한 해결 방법과 조언을 받은 다른 예시는 다음 링크에서도 확인하실 수 있습니다:
이들이 이슈 해결에 도움이 되길 바랍니다. 추가 문의사항이 있거나 하이버네이트의 기타 설정 관련하여 도움 필요하신 부분이 있으면 언제든지 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
애초에 저게 안 생기게 하는 방법은 없나요?