我目前正在尝试学习如何使用Spring Boot并遇到问题我不知道如何解决。
我已按照http://spring.io/guides/gs/accessing-data-jpa/的指南进行操作,一切正常。但是,如果我重新启动服务器,则保存的所有数据都将完全丢失。有没有办法将数据保存在存储库/数据库中,这样如果我关闭应用程序并再次启动它,所有以前保存的数据仍然可以访问?
提前谢谢你:)
答案 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`