source

Spring Boot에서 여러 SQL Import

itover 2023. 3. 28. 21:40
반응형

Spring Boot에서 여러 SQL Import

Spring Boot 레퍼런스 매뉴얼에 따르면 애플리케이션 부팅 시 데이터를 Import할 수 있는 방법은 몇 가지 있습니다.인메모리 데이터베이스와 조합하면 테스트에 편리합니다.

옵션은 다음과 같은 파일을 만드는 것입니다.import.sql(하이버네이트)에 의해 픽업되거나 파일명을 작성하기 위해 사용됩니다.data.sqlSpring JDBC가 픽업합니다.둘 다 괜찮아요.

다만, 저는 프로젝트를 조금 분해하는 것을 좋아하기 때문에, 현재는 코어 도메인 모델을 가지고 있습니다.이 모델에서는, 유저등의 코어 데이터를 설정하기 위한 편리한 Import가 있어 어디에서나 사용되고 있습니다.또한 동일한 기본 데이터 가져오기를 재사용하는 데 유용한 기능별 프로젝트도 있지만, 해당 기능에 고유한 추가 데이터 가져오기도 가능합니다.

여기가 일이 잘 안 풀리는 곳이에요.

는 파스칼 티벤트가 언급한 이전 질문에 대한 답을 찾았다.hibernate.hbm2ddl.import_files속성을 사용하여 휴지 상태 3.6.0에서 파일 목록을 정의할 수 있습니다.베타1. 내 프로젝트가 4.3.1을 Import하고 있다는 것을 고려하면.마지막으로, 저는 이것이 가능할 것이라고 생각했습니다.

그래서 스프링 부츠에 다음과 같은 것을 추가해 보았습니다.application.properties:

spring.jpa.hibernate.hbm2ddl.import_files=/another-import.sql

또, 다음과 같이 합니다.

hibernate.hbm2ddl.import_files=/another-import.sql

유감스럽게도 둘 다 Import를 실행하지 않습니다.

그래서 제가 방금 위의 부동산들을 엉망으로 만든 것은 아닌지 궁금합니다(아마도 듭니다).아니면 제가 해야 할 다른 일이 있나요?

회피책으로 Spring JDBC가 실행되고 있는 것 같습니다.data.sql휴지 상태 실행 후import.sql.그래서 2개 이상의 Import가 필요 없는 한import.sql기본 데이터의 경우 프로젝트별 Import를 저장합니다.data.sql그냥 넘어갈 수는 있지만 해결방법은 아니에요

hibernate 속성을 정말로 사용하는 경우 접두사는 다음과 같습니다.spring.jpa.properties.그것들은 그대로의 속성으로 추가되므로EntityManagerFactorySpring Boot 레퍼런스 가이드를 참조해 주세요.

spring.jpa.properties.hibernate.hbm2ddl.import_files=file1.sql,file2.sql

단,spring.datasource.data그리고.spring.datasource.schema귀사에 유리하게 자산을 제공합니다.디폴트로는 각각data그리고.schemaData Source Initializer 클래스에서 볼 수 있습니다.또한 이러한 리소스를 설정할 수 있으며 리소스 목록을 쉼표로 구분하여 사용할 수 있습니다.

spring.datasource.data=classpath:/data-domain.sql,file:/c:/sql/data-reference.sql,data-complex.sql

리소스 로딩으로 개미 스타일 패턴의 리소스 로딩도 가능하므로 더욱 좋습니다.

spring.datasource.data=/META-INF/sql/init-*.sql
spring.datasource.schema=/META-INF/sql/schema-*.sql 

언급URL : https://stackoverflow.com/questions/24508223/multiple-sql-import-files-in-spring-boot

반응형