freeism / fast-campus-jpa

40 stars 31 forks source link

UserRepositoryTest.crud() 테스트 시 오류에 대한 문제 #3

Open egovframedev opened 1 year ago

egovframedev commented 1 year ago

UserRepositoryTest 의 crud() 메서드 테스트시 다음과 같은 에러가 발생합니다.

Error executing DDL "drop table if exists user CASCADE " via JDBC Statement

문자의 뜻을 보니 DDL 문 실행 에러 발생 : JDBC 문을 통해 user 테이블 삭제시 ...

즉 user 라는 키워드가 예약어여서 user 테이블을 삭제하고 생성이 되지 않습니다. 따라서 User 클래스에 @Table(name="USERS") 애노테이션을 추가하여 User 를 Users 로 변경하여 실행하니 정상적으로 테스트가 실행되었습니다. 근데 강사님은 어떻게 이런 문장 없이 테스트가 정상인지 알려주세요.

ZungTa commented 1 year ago

강사님과 @egovframedev 님의 H2 버전 차이 때문일 겁니다. https://velog.io/@readnthink/DataJpaTest%EC%82%AC%EC%9A%A9%EC%8B%9C-user-table-%EC%98%88%EC%95%BD%EC%96%B4-%EC%97%90%EB%9F%AC