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

최정식님의 프로필 이미지
최정식

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Hello JPA - 프로젝트 생성

h2 데이터베이스 설정관련

작성

·

666

0

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

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

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

[질문 내용]

다름이 아니라 다른 프로젝트를 하면서 test라는 이름의 DB를 이미 만들어 놔서 그런지는 몰라도

이러한 오류가 뜨더군요 이게 이전에 만들어 놓은 test라는 이름의 db파일때문인지 궁금합니다

 

또한 제가 이전에 작업했던 프로젝트도 h2데이터 베이스를 사용하느라 test라는 주소로 연결토록했는데 이전 프로젝트의

application properties를 testDB이런식으로 이름을 바꿔주면 제가 지금 사용할때 test라는 이름으로 h2 데이터베이스를 사용할 수 있을까요?

 

마지막으로 이미 생성된 test라는 DB파일이 있다면 해당 디비로는 연결이 되면 안되는 건가요? 하나의 디비 파일 연결을 (물론 테이블의 구성요소가 다르겠지만) 다른곳에서 사용할 수 없는 걸까요?

 

질문 하다 보니 너무 길어진 점 죄송합니다.

답변 1

0

안녕하세요. 최정식님, 공식 서포터즈 OMG입니다.

오류 메시지 원인

메시지를 보면 서로 다른 버전의 h2에서 동일한 파일을 생성 및 접근 하려할 때 발생하는 오류로 보입니다.

서로 다른 버전의 h2를 설치하신 적이 있을까요?

-

이전 프로젝트의

application properties를 testDB이런식으로 이름을 바꿔주면 제가 지금 사용할때 test라는 이름으로 h2 데이터베이스를 사용할 수 있을까요?

test라는 이름을 현재 진행하는 JPA 강의 수강에서 사용하려면

image이 경로로가서 test.mv.db 파일을 삭제하고, test.mv.db파일을 재성성하는 방법밖에 없을 것 같습니다.

(물론 기존에 저장된 데이터는 소실됩니다)

-

이미 생성된 test라는 DB파일이 있다면 해당 디비로는 연결이 되면 안되는 건가요? 하나의 디비 파일 연결을 (물론 테이블의 구성요소가 다르겠지만) 다른곳에서 사용할 수 없는 걸까요?

사용 가능합니다만, h2 버전이 달라져서 발생한 오류로 보입니다.

image여기에 작성한 내용을 아래 내용으로 변경하여 접속하면 이전에 사용했던 프로젝트의 DB데이터와 함께 사용할 수 있습니다.

jdbc:h2:tcp://localhost/~/test

강의 4분을 참고해서 보시면 이전에 다른 프로젝트에서 사용하던 정보가 남아있음을 보실 수 있습니다.

-

기존에 프로젝트하면서 진행한 데이터를 삭제하지 않고 강의를 진행하시길 희망하시는 경우

test2라는 별도의 이름으로 강의 수강을 진행하실 것을 권장드립니다.

test라고 세팅한 부분

persistence.xml

h2 접속 관련

을 test2로 모두 변경하여 진행하시면 됩니다.

감사합니다.

최정식님의 프로필 이미지
최정식

작성한 질문수

질문하기