Spring JPA Repository - 保持服务器重启的数据

时间:2015-05-07 03:59:56

标签: java spring jpa spring-boot

我目前正在尝试学习如何使用Spring Boot并遇到问题我不知道如何解决。

我已按照http://spring.io/guides/gs/accessing-data-jpa/的指南进行操作,一切正常。但是,如果我重新启动服务器,则保存的所有数据都将完全丢失。有没有办法将数据保存在存储库/数据库中,这样如果我关闭应用程序并再次启动它,所有以前保存的数据仍然可以访问?

提前谢谢你:)

4 个答案:

答案 0 :(得分:6)

所有示例都使用具有内存持久性的嵌入式数据库,这意味着只有在进程运行时才会存储数据。只需切换到像MySQL这样的常规数据库,或者使用带有基于文件的存储URL的H2,它也会永久保存在磁盘上。对于后者,只需将以下属性添加到application.properties:

spring.datasource.url=jdbc:h2:tcp://localhost/${path/to/your/db/file}

并将${path/to/your/db/file}替换为您要存储数据库的路径(注意,如果该文件夹不存在,将创建此处配置的文件夹)。

答案 1 :(得分:4)

您的application.properties文件似乎低于设置。删除或评论它。

spring.jpa.hibernate.ddl-auto=create

答案 2 :(得分:2)

我在我的项目中使用了此功能,在服务器重启后我想保留数据。

spring.datasource.url = jdbc:h2:file:〜/ data / testdb; DB_CLOSE_DELAY = -1; DB_CLOSE_ON_EXIT = FALSE;

这会将数据存储在文件中。您可以检查http://www.h2database.com/html/features.html以获得更多详细信息。

答案 3 :(得分:1)

如果要在服务器重新启动时保留数据,则将以下属性添加到application.properties文件中:

`spring.jpa.hibernate.ddl-auto=update`