0

유닛 테스트에서 스프링 내장 데이터베이스를 사용하고 있습니다. 봄부터 문서 :스프링 내장 데이터베이스 용 SQL 스크립트를 생성하는 방법은 무엇입니까?

<jdbc:embedded-database id="dataSource"> 
    <jdbc:script location="classpath:schema.sql"/> 
    <jdbc:script location="classpath:test-data.sql"/> 
</jdbc:embedded-database> 

기본적으로 동일한 이야기를하는 많은 예가 웹에 있습니다. 프로덕션 데이터베이스에서 SQL 문을 수동으로 만들 수 있습니다. 예를 들어 mysqldump를 사용할 수 있습니다 (생성 된 SQL이 HSQL에 의해 받아 들여지는 경우). 그러나 내 테이블은 이미 .hbm.xml 파일에 정의되어 있습니다. .sql 파일로 자동 생성하는 방법이 있습니까?

모든 목적은 자연스럽게 데이터베이스를 초기화하는 것입니다. 내 즉각적인 의도는 테이블을 설정하는 것입니다. 단위 테스트 자체에 필요한 테스트 데이터를 삽입하겠습니다.

+0

JPA에 대한 내 대답의 코드를 수정할 수 있습니다. http://stackoverflow.com/questions/6856934/how-to-generate-schema-for-jpa-entity/6883384#6883384 –

답변

0

당신은 Hibernate가 매핑 파일로부터 당신의 스키마를 생성하게 할 수있다. 그런 다음 통합 테스트를 위해 스크립트를 작성하지 않아도됩니다. 이 작업을 수행하는 방법은 Hibernate Toolset Guide을 확인하십시오.

또는 작업중인 데이터베이스에 대해이 질문을 Retag하고 스키마 생성 스크립트를 만드는 최상의 방법을 참조하십시오.

+0

나는 최대 절전 모드로 이동해야한다고 생각합니다. 내가 할 수있는 한. 특정 데이터베이스에 불필요한 종속성을 생성하고 싶지 않습니다. 최대 절전 모드로 스키마를 만들려면 어떻게해야합니까? – denarced

+0

Hibernate Toolset Guide - http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/toolsetguide.html을 확인하십시오. –