2017-08-26 6 views

答えて

3

Spring Roo 2.0はSpringブートアプリケーションを生成するため、application.propertiesファイルを使用して永続性プロパティを設定する必要があります。 Springブートアプリケーションでは、persistence.xmlファイルは必要ありません。

デフォルトでは、Spring Rooシェルによって生成されるプロパティは永続性を構成してデータを永続化し、アプリケーションがデプロイされるたびにそのデータを作成しません。あなたが設定している場合

jpa setup --provider HIBERNATE --database POSTGRES --databaseName myDB --userName admin --password admin --hostName localhost

のsrc /メイン/リソース/ application.properties

spring.datasource.driver-class-name=org.postgresql.Driver 
spring.datasource.password=admin 
spring.datasource.url=jdbc\:postgresql\://localhost\:5432/myDB 
spring.datasource.username=admin 
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy 

これは春Rooのコマンドを使用して設定持続性についての一例です上記のような同様のコマンドを使用してプロジェクトの永続性を維持するには、あなたのapplication.propertiesファイルに本当に類似した永続性設定が必要です。しかし、あなたは多分、次のような問題があることができるようにあなたのデータは、永続化されませんbeeingていることを言う:

  1. あなたは、アプリケーションを再起動するときにHYPERSONIC_IN_MEMORY、のようなインメモリデータベースを使用するようにプロジェクト、データを設定します除去される。 解決策:正しい設定でjpaコマンドを再度実行して、Postgresql、Mysql、Oracleなどの不揮発性データベースに変更します。
  2. サンプルscript clinic.rooを実行した後、独自のアプリケーションを生成するコードを更新しました。サンプルclinic.rooファイルはHYPERSONIC_IN_MEMORYデータベースを構成するので、ポイント1で説明したのと同じ問題が発生します。解決方法:不揮発性データベースを使用して永続性を設定するには、もう一度jpaコマンドを実行します。
  3. application.propertiesファイルのspring.jpa.hibernate.ddl-autoプロパティをcreateまたはcreate-dropの値で手作業で構成しました。 解決方法:このプロパティの値をvalidateまたはupdateの値に変更します。また、良いです

    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/

    をチェックするために、すべての利用可能:とにかく

は、私はあなたが春のブートアプリケーションで作業する場合は、公式ドキュメントブーツ春を使用してそれらについての詳細を読むことを推薦しますあなたはapplication.propertiesファイルで設定できますプロパティ:

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties

は彼にそれを願っていますLPS、

+0

私はあなたが言っていることを理解していますが、私が見ていることにはあまり気にしません。たとえば、あなたは「デフォルトで、Spring Rooシェルによって生成されたプロパティは、アプリケーションがデプロイされるたびに作成しないでください。しかし、それはあなたが "persistence.xmlの更新"の代わりに "作成"をしたときと同じように私が見ているものではありません。私のlog.rooは...を表示します "jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT"プロパティは、持っていませんhibernate.hbm2ddl.auto –

+0

ありがとうございます。これは非常に便利です –

0

[OK]をので、私は答えは簡単です

時間を求め、時計を構築する方法を学習するための仕様を持って、

...

spring.jpa.hibernate.ddl-オート=アップデート

これをapplication.propertiesに追加します。

JCGはヒントを提供しましたが、彼は設定を変更したと言いましたが、変更する必要はありませんでした。デフォルトは「更新」ではなく「作成」です。

最も有用なのは

application.properties documentation

への彼のリンクは感謝でした。

関連する問題