로컬에서 개발을 진행할때 데이터베이스에 임시로 데이터를 넣고 진행해야하는 상황이 자주 발생한다.
Spring Application 실행 시 자동으로 기초 데이터를 넣을 수 있게 data.sql을 작성해서 넣어보자
Gradle
Entity:
일반적으로 실행시 발생하는 에러이다.
TB_USER이 생성 되기 전에 data.sql의 insert 문장이 실행 된것 같다
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes
Hibernate and data.sql
By default, data.sql scripts are now run before Hibernate is initialized. This aligns the behavior of basic script-based initialization with that of Flyway and Liquibase. If you want to use data.sql to populate a schema created by Hibernate, set spring.jpa.defer-datasource-initialization to true. While mixing database initialization technologies is not recommended, this will also allow you to use a schema.sql script to build upon a Hibernate-created schema before it’s populated via data.sql.
Spring Release Note를 확인하면 위의 설명을 확인할 수 있다.
application.yml에 설정을 추가해주자
잘 작동한다.
'개발 > Spring' 카테고리의 다른 글
Spring Security 기본 정리 (0) | 2022.12.30 |
---|---|
Spring Security - Filter, OncePerRequestFilter 정리해보자 (0) | 2022.12.30 |
HttpSecurity 설정 정리 (0) | 2022.12.20 |
Spring Boot + Spring Security + H2 DataBase 써보기 (0) | 2022.12.19 |
Spring Security인 액션[ING] (0) | 2022.12.14 |