Embedded HSQLDB persist data to a file

2019-02-09 07:51发布

I am creating a spring based web application that uses embedded hsqldb. My spring config is pretty simple:

<jdbc:embedded-database id="dataSource" type="HSQL" >
    <jdbc:script location="classpath:scripts/create-table-if-not-exists" />
</jdbc:embedded-database>

But with this config all data is stored in memory. Here is the data source url that is created

jdbc:hsqldb:mem:dataSource

I need to persist data to a file. So that I can use it again after server restart.

1条回答
倾城 Initia
2楼-- · 2019-02-09 08:23

This solution worked for me

<bean class="org.apache.commons.dbcp2.BasicDataSource" id="dataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    <property name="url" value="jdbc:hsqldb:file:#{systemProperties['user.home']}/db/data" />
    <property name="username" value="sa" />
    <property name="password" value="" />
</bean>

<jdbc:initialize-database data-source="dataSource">
    <jdbc:script location="classpath:scripts/create-table-if-not-exists" />
</jdbc:initialize-database>
查看更多
登录 后发表回答