【问题标题】:HSQLDB persistence in a Spring projectSpring项目中的HSQLDB持久化
【发布时间】:2021-01-16 18:41:32
【问题描述】:

我查了很多答案,但大部分都不懂,所以请记住,我对编程和 Java 很陌生。

所以,我一直在关注这个教程:https://medium.com/@fsonmezay/restful-issue-tracking-application-with-spring-boot-and-angularjs-61b69537b10e

但如上所述,当我关闭应用程序时,我在应用程序运行时在 UI 上所做的一切都会消失。

它使用 HSQLDB 作为数据库管理器,我需要应用程序将我在运行时添加的所有内容写入数据库。

另外,不知道是否值得一提,但我没有使用 maven,而是使用 Gradle。

【问题讨论】:

  • 预期行为,hsqldb 是一个内存数据库,它仅在应用程序启动和运行时才处于活动状态。一旦您的应用程序关闭,您在 hsqldb 中的数据和架构将完全丢失。了解有关内存数据库的更多信息。您可以在项目的资源文件夹中创建 data.sql 以使用初始数据初始化数据库,例如创建一些表、插入一些数据

标签: java spring spring-boot gradle hsqldb


【解决方案1】:

默认情况下,Spring Boot 会自动配置内存中的 HSQLDB 连接,因此显然所有数据都会丢失。您需要提供spring.datasource.url 配置属性来覆盖自动配置并使用持久数据连接,例如spring.datasource.url=jdbc:hsqldb:file:~/mydb 属性会将您的数据存储到~/mydb 文件中。查看Spring Boot documentation 了解有关数据源自动配置的更多信息,查看HSQLDB documentation 了解有关HSQLDB 配置属性的更多信息。

【讨论】:

    猜你喜欢
    • 2012-11-29
    • 1970-01-01
    • 2017-08-10
    • 2015-03-25
    • 1970-01-01
    • 2011-05-06
    • 2011-04-02
    • 2018-04-04
    • 1970-01-01
    相关资源
    最近更新 更多