【发布时间】:2015-05-09 10:07:57
【问题描述】:
我正在尝试使用 Spring Boot 将 H2 内存数据库持久化到一个文件中,以重用其中的数据。
不幸的是,指定数据源url的方式就像
spring.datasource.url = jdbc:h2:file:~/WeatherDB;FILE_LOCK=FS
(complete application.properties)
对我不起作用。我在硬盘上的任何地方都找不到 H2 生成的文件(另外,重新启动服务器后保存的数据不可用)。
为了可视化这一点,我创建了一个示例项目,可以在 Bitbucket 上找到。
这样,如果应用程序是从带有gradle run 的 IDE 中运行或在从 jar 中打包后运行的,似乎并没有什么不同。
需要什么配置选项来持久化和重用 H2 DB?
更新:
我意识到http://localhost:8080/configprops 有一个配置选项的执行器端点,显示
"spring.datasource.CONFIGURATION_PROPERTIES": {
"prefix": "spring.datasource",
"properties": {
"schema": null,
"data": null,
"xa": {
"dataSourceClassName": null,
"properties": { }
},
"separator": ";",
"url": "jdbc:h2:file:~/WeatherDB",
"platform": "all",
"continueOnError": false,
"jndiName": null,
"sqlScriptEncoding": null,
"password": "******",
"driverClassName": "org.h2.Driver",
"initialize": true,
"username": "sa"
}
},
但我只是在我的硬盘上找不到文件WeatherDB,重启服务器后也没有任何数据可用。
非常欢迎任何建议;-)
【问题讨论】:
标签: spring spring-boot spring-data h2