• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

DB저장시 이전 내용 삭제 됨

24.04.03 17:03 작성 24.04.03 17:10 수정 조회수 207

0

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

[질문 내용]
현재 Hello JPA - 애플리케이션 개발 강의를 수강 중입니다.

12:50에서 2L과 HelloB로 해서 돌렸는데 1, HelloA가 사라지고 2, HelloB가 들어갑니다.

강의에서는 1, HelloA가 남아있는데 혹시 제가 뭘 잘못 설정한걸까요?

 

콘솔창에

Hibernate:

drop table if exists Member cascade

라고 뜨긴합니다..

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.03

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

yyeong1015님의 질문과 관련하여, [애플리케이션을 실행 시킬 때 마다 초기화](https://www.inflearn.com/questions/1150833)라는 질문의 상황과 유사해 보입니다. 이 질문에서, 질문자는 JPA를 이용하여 데이터를 저장할 때마다 이전에 저장된 데이터가 사라지는 현상을 겪었습니다. 이후 질문자가 발견한 해결책은 persistence.xml 파일에서 hibernate.hbm2ddl.auto 속성을 주석 처리하거나 해당 속성의 값을 변경하는 것이었습니다.

이 속성은 애플리케이션 실행 시 데이터베이스 스키마를 자동으로 생성, 갱신, 검증 또는 삭제하는 방식을 제어합니다. 일반적으로 개발 초기에는 createupdate 값을 사용하지만, create는 애플리케이션을 재시작할 때마다 데이터베이스를 새로 생성하기 때문에 기존 데이터가 사라집니다. 이를 update로 변경하거나, 배포 환경에서는 이 속성을 사용하지 않는 편이 좋습니다.

또한, 'application.properties' 또는 'application.yml' 파일에 similar 설정이 적용되어 있을 수도 있습니다 (Spring Boot를 사용하는 경우). 이 경우 ‘spring.jpa.hibernate.ddl-auto’ 값에 대한 설정을 검토해 보세요.

혹시 위와 같은 설정을 확인해 보셨나요? 설정 값을 ‘create’에서 ‘update’로 변경하거나, 필요에 따라 다른 값을 설정해 보시는 것을 추천드립니다.

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