2017-03-17 15 views
3

マイapplication.properties:春:H2データベースの永続性

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 

私は春・プロジェクトを開始するときにロードされるdata.sqlにしています。

データベースを永続化するためにapplication.propertiesを変更するにはどうすればよいですか。

今のところ、常に新しいものになります。 ddl.auto=createddl.auto=updateに変更しても、それはうまくいきません。私はddl.auto=createが私のDBを上書きすることを知っていますが、永続化する方法はわかりません。

data.sqlには3つのInsert-Statementがあり、プロジェクトを実行すると既に自分のDBに3つの挿入があります。その後、私はUIを介して新しいものを挿入し、プロジェクトを終了します。私がプロジェクトを再実行すると、最初の3つの挿入だけがあります。しかし、4つのインサートが必要です。 H2::ファイル:

+0

を作成。 – artemisian

+0

私は自分のコードで何も変更する必要はありませんか? – SteveOhio

+0

アプリをもう一度再実行せずにアプリを停止すると、そこにいくつの行がありますか? – artemisian

答えて

3

あなたは、自動再接続機能に

spring.datasource.url = JDBCを欠場〜/ 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 
1

持続性は財産spring.jpa.hibernate.ddl-オートから来ではなくという更新され、プロジェクトの終了時にデータベースが唯一の3元のインサートは、あなたがUIを通じて挿入を行った後の行が保存され、ロールバックしていないことを確認含まれている場合