복붙노트

[SPRING] H2 데이터베이스 메모리 있음 - Spring / Hibernate를 통한 초기화 스키마

SPRING

H2 데이터베이스 메모리 있음 - Spring / Hibernate를 통한 초기화 스키마

H2 데이터베이스가있는 Spring / Hibernate 응용 프로그램이 있고 메모리에 내장 모드로 실행되도록 H2를 구성하는 데 몇 가지 문제가 있습니다. 1. Spring에서 H2 데이터베이스를 시작하여 다음 Spring Bean을 만들었 으면합니다.

<bean id="org.h2.tools.Server" class="org.h2.tools.Server"
        factory-method="createTcpServer" init-method="start" destroy-method="stop">
        <constructor-arg value="-tcp,-tcpAllowOthers,true,-tcpPort,8043" />
    </bean>

    <bean id="org.h2.tools.Server-WebServer" class="org.h2.tools.Server"
        factory-method="createWebServer" init-method="start">
        <constructor-arg value="-web,-webAllowOthers,true,-webPort,8082" />
    </bean>

메모리 내 사용을 위해 tcp 서버를 사용해야합니까? 메모리의 올바른 구성입니까?

2. 위의 설정으로 - Hibernate가 시작되기 전에 어떻게 데이터베이스 스키마를 만들고 초기화 할 수 있습니까? HSQLDB에는 생성 스크립트의 이름을 기술하는 URL 속성이 있다는 것을 알고 있습니다. 여기에 비슷한 방법이 있습니까?

도와 주셔서 감사합니다

해결법

  1. ==============================

    1.Hibernate는 schemaUpdate라는 속성을 가지고있다. 초기화시 데이터베이스가 생성되도록 SessionFactory에 설정하십시오.

    Hibernate는 schemaUpdate라는 속성을 가지고있다. 초기화시 데이터베이스가 생성되도록 SessionFactory에 설정하십시오.

    <property name="schemaUpdate" value="true" />
    

    JPA를 사용하는 경우 JpaVendorAdapter에 설정할 generateDdl 속성이 있습니다.

  2. from https://stackoverflow.com/questions/1945175/h2-database-in-memory-init-schema-via-spring-hibernate by cc-by-sa and MIT license