在 Spring Data Redis 和 Spring Data jpa 中重新启动应用程序时数据库中的数据消失
Data in database get vanished when application is restarted in Spring Data Redis and Spring Data jpa
我正在使用 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 适用于 运行 测试套件,您需要一个新的新数据库,然后它会消失。但是您可以使用其他选项 select 来创建和更新但不能删除。
我认为常用的选项是 update
。这将在发生更改时应用更新架构,但不会删除架构。
hibernate.hbm2ddl.auto=update
我正在使用 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 适用于 运行 测试套件,您需要一个新的新数据库,然后它会消失。但是您可以使用其他选项 select 来创建和更新但不能删除。
我认为常用的选项是 update
。这将在发生更改时应用更新架构,但不会删除架构。
hibernate.hbm2ddl.auto=update