我有一个带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属性,它声明了创建脚本的名称。这里有类似的方式吗?
感谢您的帮助
答案 0 :(得分:7)
Hibernate有一个名为schemaUpdate
的属性。将其设置在SessionFactory
上,以便在初始化时创建数据库。
<property name="schemaUpdate" value="true" />
如果您使用的是JPA,那么generateDdl
JpaVendorAdapter
属性