
resources 폴더 하위에 data.sql 파일을 생성하고, 데이터를 삽입하는 INSERT문을 작성하였다. 애플리케이션을 실행시켰더니 위와 같은 오류가 발생했다.
Spring Boot에서 data.sql 파일을 사용하여 데이터베이스 스키마를 초기화하려고 할 때 발생하는 오류 중 하나이다.
SQL Script DataSource Initialization의 동작 방식 변경으로 인해 Hibernate 초기화 시점 변경
스프링 부트 2.5.x 이전 버전에서는 Hibernate가 초기화된 후에 'data.sql' 스크립트가 실행되었지만, 해당 버전부터는 data.sql 스크립트가 Hibernate 초기화되기 전에 실행되도록 기본 설정된다. 따라서 Hibernate 초기화 후에 'data.sql'스크립트를 실행되게 해야 한다.
// application.yml 설정 파일
spring:
jpa:
defer-datasource-initialization: true
해당 설정은 Spring Boot에서 데이터소스 초기화를 지연시키는 설정이다. data.sql 스크립트를 지연시켜 Hibernate 초기화가 먼저 실행되도록 한다.
[출처]