我有个问题。我在玩JSF/Spring/HHibernate和HSQL。
为此,我有一个小型测试应用程序,对于我想要实现的一个功能,我需要一个持久化一些数据的可能性。我不想拥有一个完整的数据库,所以我选择了HSQL。从本教程开始(
http://devcrumb.com/hibernate/hibernate-jpa-spring-and-hsqldb
)我构建我的应用程序。我在数据类型方面遇到了一些问题,我选择用脚本构建数据库。
就像在tuorial中一样,我在应用程序中定义了这样的数据源。xml,除了我将url属性更改为使用文件。
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.hsqldb.jdbcDriver</value>
</property>
<property name="url">
<value>jdbc:hsqldb:hsql://localhost/testdb</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="jpaData" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
现在,我已经将数据源更改为如下所示:
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:embeddedDbStructure.sql" />
</jdbc:embedded-database>
到目前为止一切都很好。
我的问题是,当服务器关闭时,这个数据库会被删除。两者都可以使用吗?作为数据库结构基础的脚本,但数据库本身被写入文件系统上的文件,以便在服务器重新启动后可用?我知道可能有一些解决方案可以通过一些代码实现这一点,但是否有可能这样配置?
提前感谢