首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spring Boot: H2数据库未保存到文件

Spring Boot: H2数据库未保存到文件
EN

Stack Overflow用户
提问于 2015-03-08 08:53:32
回答 2查看 10.5K关注 0票数 7

我正在尝试使用Spring Boot将一个H2内存DB持久化到一个文件中,以便重用其中的数据。

不幸的是,指定数据源url的方式如下所示

代码语言:javascript
复制
spring.datasource.url = jdbc:h2:file:~/WeatherDB;FILE_LOCK=FS

(complete application.properties)

对我不起作用。我在硬盘上找不到H2生成的文件(而且,重启服务器后保存的数据也不可用)。

为了可视化这一点,我创建了一个可以在Bitbucket上找到的示例项目。

这样,无论应用程序是从带有gradle run的集成开发环境中运行,还是从jar中打包后运行,似乎都没有什么区别。

要持久化和重用H2 DB,需要什么配置选项?

更新:

我意识到在http://localhost:8080/configprops中有一个用于配置选项的执行器端点,它显示了

代码语言:javascript
复制
"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,重启服务器后也没有任何数据可用。

非常欢迎任何建议;-)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-08 21:39:46

您的application.properties文件未被拾取。替换

代码语言:javascript
复制
compile "org.springframework.data:spring-data-jpa:1.7.2.RELEASE"
compile "org.hibernate:hibernate-entitymanager:4.3.8.Final"

使用

代码语言:javascript
复制
compile "org.springframework.boot:spring-boot-starter-data-jpa"
票数 3
EN

Stack Overflow用户

发布于 2018-06-09 02:57:58

表由于模式迁移而被删除,为我将其设置为update solved。

代码语言:javascript
复制
application.properties
spring.jpa.hibernate.ddl-auto=update
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28921896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档