【问题标题】:Data in database get vanished when application is restarted in Spring Data Redis and Spring Data jpa在 Spring Data Redis 和 Spring Data jpa 中重新启动应用程序时,数据库中的数据会消失
【发布时间】:2017-03-17 01:40:21
【问题描述】:

我将 Spring Data jpa 与 Hibernate 和 Spring Data Redis 一起使用并存储在 MySQL 数据库中。每当我重新启动我的应用程序时,现有数据都会消失。

是否需要在 application.properties 或其他内容中指定任何属性,以便在重新启动应用程序时数据不会消失?

# jdbc.X
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ES?createDatabaseIfNotExist=true
jdbc.user=root
jdbc.pass=root


#hibernate.X
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=false
hibernate.hbm2ddl.auto=create-drop

【问题讨论】:

  • 你认为 hibernate.hbm2ddl.auto=create-drop 是什么意思? :)
  • create-drop 非常适合在您想要一个新数据库的地方运行测试套件,并且之后它会消失。但是您可以选择其他选项来创建和更新但不能删除。
  • @SlipperySeal,你为什么不把它作为答案?
  • 当我发表第一条评论时,我觉得自己不够专业,无法给出完整的答案。然后我开始研究细节。也许我应该有。

标签: java hibernate spring-data-jpa spring-data-redis


【解决方案1】:

发生这种情况是因为该属性要求这样做:)

hibernate.hbm2ddl.auto=create-drop

create-drop 非常适合在您想要一个新数据库的地方运行测试套件,然后它就会消失。但是您可以选择其他选项来创建和更新但不能删除。

我相信常用的选项是update。这将在发生更改时应用更新架构,但不会删除架构。

hibernate.hbm2ddl.auto=update

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-28
    • 2023-03-09
    • 2016-10-21
    • 2013-12-15
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    相关资源
    最近更新 更多