web-dev-qa-db-ja.com

Spring: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=createddl.auto=updateに変更しても機能しません。 ddl.auto=createが私のデータベースを上書きすることは知っていますが、永続化する方法がわかりません。

Data.sqlには3つのInsert-Statementsがあり、プロジェクトを実行すると、すでに3つの挿入がDBにあります。次に、UIから新しいものを挿入し、プロジェクトを終了します。プロジェクトを再実行すると、最初の3つの挿入のみがあります。ただし、4つの挿入が必要です。

16
SteveOhio

自動再接続機能が見当たりません

spring.datasource.url = jdbc:h2:file:〜/ 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
20
PowerFlower

永続性はプロパティspring.jpa.hibernate.ddl-auto being updatecreateの代わりに

7
Raj