김영한(우아한형제들 기술이사)님의 JPA 강의를 듣다가 발생한 문제가 있다.
예제를 그대로 따라하다가
①
org.hibernate.tool.schema.internal.exceptionhandlerloggedimpl handleexception warn: generationtarget encountered exception accepting command : error executing ddl
와 같은 에러가 발생했다.
정확히는 경고문이지만, 프로그램이 원하는 대로 실행되지 않은 경우가 발생한다.
프로그램의 생명은 정확히 데이터를 처리할 수 있는 것이거늘...
그래서 이 오류를 고쳐야 한다.
이 오류를 고치기 위해서는 H2 Console의 버전을 바꿔줘야 한다.
만약 버전이 1.4.200, 버전이 200대라면 필히 고쳐주어야 실행될 수 있다.
김영한님께서 해당 문제에 대한 답변을 주셨다.
기존 테이블이 삭제되지 않는 문제.. - 인프런 | 질문 & 답변
안녕하세요 영한님 강좌를 보며 예제를 따라하던중 제 프로젝트가 영한님과 다르게 실행되는것 같아 질문을 올립니다 hibernate.hbm2ddl.auto = create 인 상황에서 프로젝트를 실행하면 기존에 생성되
www.inflearn.com
1.4.200 버전 이상이면 안될 수도 있다고..
아래의 주소에서 1.4.199 버전을 다운 받고 설치한다.
http://www.h2database.com/html/download-archive.html
Archive Downloads
www.h2database.com
그러면 이제 바꾼 버전을 확인해줘야 하는데,
버전을 확인하려면 로그인을 해야한다.
그런데, 로그인 하려는데 기존 스키마 로그인이 되질 않는다.
② File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199] 90030/90030
H2 DB 연결이 안됩니다. - 인프런 | 질문 & 답변
h2 최신 버전에서 발생하는 쿼리 문제때문에 기존에 있었던 h2를 삭제하고, 다시 설치를 진행했는데.. 아래처럼 90030 에러가 뜨면서 연결이 안됩니다. <?xml version='1.0' encoding='UTF-8'?><persistence vers...
www.inflearn.com
해결제안은 위의 링크에서 확인할 수 있다.
이런 문제가 발생했을 때, 스키마를 다시 만들어줘야한다.
Database path 는 새롭게 만들 DB 스키마를 어디에 저장할지 정하는 것이다.
필자는 C:\Users\윈도우사용자ID\jpaStudy2 로 만들었다.
./ 위치 앞에 절대경로로 해줘야 생성할 때 오류가 안난다.
이후에 비밀번호를 입력하는데, 비밀번호 입력하는게 귀찮다면 아래의 게시글을 확인해보자.
https://drcode-devblog.tistory.com/422
[H2 Database / Database] 새로운 Repository 생성 후 귀찮아서 비밀번호 없애고 싶을 때
Create a new database 클릭 이렇게 뜨는 데 대충 비번 적고 create 하면 repository 명이 해당 디렉토리 내에 중복되지만 않으면 그냥 생성된다. 실행하면 위처럼 뜨는데 새로 만든 repository 명을 입력하고 I
drcode-devblog.tistory.com
그래서, 다시 접속을 시도한다.
이제 설치한 버전에 맞게 제대로 설치가 되었는지 확인하는 쿼리를 사용해보자..
SELECT H2VERSION() FROM DUAL;
실행하면, 아래와 같이 1.4.199 버전이 찍힌다.
다시 프로젝트를 켜서 WAS를 실행시키면
전처럼
org.hibernate.tool.schema.internal.exceptionhandlerloggedimpl handleexception warn: generationtarget encountered exception accepting command : error executing ddl
와 같은 에러를 마주하지 않을 것이다.
댓글