【发布时间】:2013-12-08 00:57:06
【问题描述】:
我有 spring XML,它使我能够使用以下配置以服务器模式启动 H2 数据库:
<beans profile="test-h2">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:target/h2/pps;AUTO_SERVER=TRUE"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
<bean id="entityManagerFactory" parent="entityManagerFactoryCommonParent">
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
我想转换为基于 java 的配置。我在这里似乎有一个帖子:Start and setup in-memory DB using Spring 问了同样的问题,我查看了嵌入式数据库的http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html#jdbc-embedded-database-support,但它没有说明如何将 H2 模式设置为服务器模式。它仅在“mem”模式下为我启动服务器。
我有以下代码:
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
builder.setType(EmbeddedDatabaseType.H2);
builder.setName(DATABASE_NAME);
builder.addScript(H2_SCHEMA);
builder.addScript(H2_TEST);
return builder.build();
也许使用 EmbeddedDatabaseBuilder(ResourceLoader) 可能会起作用。有人有一些示例代码吗?
【问题讨论】:
标签: java spring hibernate configuration h2