2012-04-25 1 views
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:[email protected] 
%server01.jpa.ddl=create 
%server01.XForwardedSupport=127.0.0.1 
+0

어떻게 명령 줄에서 앱을 시작 하시겠습니까? – Codemwnci

답변

3

대신 createupdate (또는 validate)에 DDL 생성을 설정하려고 :

%server01.jpa.ddl=update 

this doc에서 살펴 보자.

+0

감사합니다. 당신은 요점이 있어요! 어쩌면 jpa.dll = none 환경에서 사용해야합니까? –

+0

내 개체 모델이 관계형 모델과 일치하는지 확인하기 위해 prod에서'validate'를 사용합니다. –

0

데이터베이스는 아마도 메모리에 설정되어 있습니다. application.conf를 확인하고 영구 데이터베이스를 사용하십시오.

몇 줄의 주석 처리 만 취소하면됩니다. 당신의 conf에서

+0

답장을 보내 주셔서 감사합니다. 하지만 영구 데이터베이스를 사용하고 응용 프로그램을 실행 모드로 실행합니다. –