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

김지언님의 프로필 이미지

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

Spring Data JPA를 이용한 초기 데이터 생성

테이블 생성 전 insert

21.05.30 14:09 작성

·

417

1

안녕하세요. 강의 잘 듣고 있습니다.

data.sql 없을 땐 테이블 생성 되고 문제 없었는데

data.sql 파일을 만드니까 테이블 생성하기 전에 insert를 해서 에러가 나는 것 같습니다.

어떻게 해결하면 좋을까요.. 

 insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200"); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER" not found; SQL statement:

insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200") [42102-200]

 Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [file:/Users/eony/workspace/study/%ec%9d%b8%ed%94%84%eb%9f%b0%ea%b0%95%ec%9d%98/restful-web-service/target/classes/data.sql]: insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200"); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER" not found; SQL statement:

insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200") [42102-200]

답변 4

4

얼티밋님의 프로필 이미지

2021. 06. 02. 18:44

해당에러는 스프링부트 2.5버전부터 하이버네이트와 .sql 간의 순번에 의한 에러인듯합니다. 버전이올라가면서 .sql파일의 우선순위가 높아졌습니다. 아래와같이 설정해주시면됩니다.

defer-datasource-initialization: true

3

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2021. 06. 06. 09:11

안녕하세요, 이도원입니다.

답변이 늦어 죄송합니다. 

위에 분이 답변을 먼저 주신것 같습니다. 관련 내용을 아래 게시물에서도 확인해 보실 수 있습니다. 

https://www.inflearn.com/questions/224708

감사합니다. 

2

Tae Won Choi님의 프로필 이미지

2021. 06. 10. 20:59

감사합니다!

1

Tae Won Choi님의 프로필 이미지

2021. 05. 31. 21:55

저도 같은 오류가 나네요..