에러로그:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed;
상황설명:
data.sql 파일을 이용해 Spring Boot 서버가 시작될 때마다 초기 데이터를 DB에 넣어주려고 했지만 서버를 실행하니 에러가 발생하였다.
(Spring Boot 2.7.7 버전 사용중)
찾아본 내용:
Spring Boot 2.5 버전부터는 Hibernate가 초기화되기 전에 data.sql
이 실행되는게 기본이다.
Hibernate를 통해 만들어진 스키마에 데이터를 채우기 위해서 data.sql
을 사용하려면 spring.jpa.defer-datasource-initialization
을 true
로 설정해야 한다.
해결방법:
application.yml(properties)
파일에 spring.jpa.defer-datasource-initialization: true
추가
참조 :
https://unhosted.tistory.com/83
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes#hibernate-and-datasql