Spring:H2数据库持久性

Ste*_*hio 17 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
Run Code Online (Sandbox Code Playgroud)

我有一个data.sql,当我启动spring-project时会加载它.

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

现在它总是创造一个新的.如果我更改为ddl.auto=create,它也不起作用ddl.auto=update.我知道这会ddl.auto=create覆盖我的数据库,但我不知道如何让它持久化.

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

Pow*_*wer 21

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

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

所以例如工作:

spring.datasource.url=jdbc:h2:file:~/test2;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.username=admin
spring.datasource.password=password
spring.datasource.driver-class-name=org.h2.Driver
#spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
Run Code Online (Sandbox Code Playgroud)


Raj*_*Raj 10

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