我正在使用带有Hibernate和Spring Data Redis的Spring Data jpa,并存储在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 适用于运行测试套件,您需要一个新的新数据库,并在之后将其消失。 但是,您可以选择其他选项来创建和更新,但不能删除。
我相信常用的选项是 update
.这将在发生更改时应用更新架构,但不会删除架构。
hibernate.hbm2ddl.auto=update