[에러해결] Error creating bean with name 'dataSourceScriptDatabaseInitializer' ~ Invocation of init method failed

뱅뱅의 텃밭·2024년 1월 5일
0

에러로그:
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-initializationtrue로 설정해야 한다.

해결방법:
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

profile
나만의 텃밭을 가꾸어보자

0개의 댓글