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

The Beeeast님의 프로필 이미지
The Beeeast

작성한 질문수

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

JPA 적용하기

상품등록 API 개발, JPA로 변환하기 에서

작성

·

681

0

 org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "PRODUCTS" not found (this database is empty); SQL statement:

select product0_.name as name1_0_0_, product0_.discount_policy as discount2_0_0_, product0_.id as id3_0_0_, product0_.price as price4_0_0_ from products product0_ where product0_.name=? [42104-214]

 

이런 에러가 나옵니다..

application.properties 에서 jpa 관련 설정해준건 없고

따라하기만 했을 뿐인데 저런 에러가 뜨네요..

제가 알기론 jpa 의 ddl-auto 가 create 라서

저절로 생성해주는걸로 알고있는데 ,, 왜 저런 에러가 뜨는지

그리고 강사님이랑 같은 코드를 입력했는데 발생하는지 궁금하네요

답변 2

0

The Beeeast님의 프로필 이미지
The Beeeast
질문자

원인을 찾았네요..

PRODUCT 엔티티의

@Id

@GeneratedValue

어노테이션에 맵핑된 변수가 private String name;

이었습니다.. 강사님과 코드가 같지 않았네요

 

근데 변수맵핑이 잘못되었다해서

잘못되었을때는 select 부터 ,

제대로 되었을 땐 drop table if exists product CASCADE 후

create 를 진행하는데

무슨 차이일까요 ?

 

어떤부분을 공부해보면 될까요 ?

0

The Beeeast님의 프로필 이미지
The Beeeast
질문자

테스트 구동시 강사님과 다른건

hibernate 에서

select 조회 먼저 진행하네요

강사님은 create table products를 하는것을 볼 수 있는데

저는 select 부터 발생하는데 원인이 뭘까요 ?

The Beeeast님의 프로필 이미지
The Beeeast

작성한 질문수

질문하기