Spring:H2数据库持久性

时间:2017-03-17 12:34:40

标签: java spring persistence h2

我的application.properties:

spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:./src/main/resources/asnDB;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.user=sa
spring.datasource.password=
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=create

我有一个在启动spring-project时加载的data.sql。

如何更改application.properties以使数据库持久化?

现在它总是会换新的。如果我将ddl.auto=create更改为ddl.auto=update,则无效。我知道ddl.auto=create会覆盖我的数据库,但我不知道如何让它持久化。

在data.sql中有3个插入语句,当我运行项目时,我的数据库中已经有3个插入。然后我通过我的UI插入一个新的并退出项目。当我重新运行项目时,只有最初的3个插入。但应该有4个插入。

2 个答案:

答案 0 :(得分:17)

您错过了自动重新连接功能

  

spring.datasource.url = JDBC:H2:文件:〜/ TEST2; DB_CLOSE_ON_EXIT = FALSE; AUTO_RECONNECT = TRUE

因此,例如有效:

enum

答案 1 :(得分:7)

持久性来自属性 spring.jpa.hibernate.ddl-auto 更新 而不是<强>创建