1

私のBootstrap.javaは次のとおりです。

@OnApplicationStart
public class Bootstrap extends Job {

    public void doJob() {
        // Check if the database is empty
        System.out.println("========================================================" + User.count());
        if(User.count() == 0) {
            Fixtures.loadModels("initial-data.yml");
        }
        System.out.println("========================================================" + User.count());
    }
}

アプリケーションを再起動するたびに、データベースがクリーンアップされ、次にUser.count()0になるため、初期データが再ロードされ、すべての変更がUser失われます。誰か助けてもらえますか?ありがとう。

編集

application.confで、データベースを次のように設定しました。

%server01.application.mode=PROD
%server01.db=mysql:root:secret@dbname
%server01.jpa.ddl=create
%server01.XForwardedSupport=127.0.0.1
4

2 に答える 2

3

confで、ddl生成を:ではなくupdate(またはvalidate)に設定してみてください。create

%server01.jpa.ddl=update

このドキュメントをご覧ください。

于 2012-04-25T06:51:04.457 に答える
0

データベースはおそらくメモリに設定されています。application.confを確認し、永続データベースを使用してください。

私が思い出すなら、あなたはほんの数行のコメントを外す必要があります。

于 2012-04-25T03:30:16.643 に答える