2010-12-08 44 views
0

我用RequestFactory實現並設法從它獲取數據,它的工作方式與我應該得到的一樣,並且我獲取了所有數據。RequestFactory - 沒有數據庫的一致性數據

但是當我刷新頁面時,它不會從服務器獲取新數據。它看起來像緩存數據並使用舊數據。我的EclipseLink JPA不告訴我新的數據庫查詢,我也更改了數據庫中的數據,並且只獲取舊數據。

我使用的查詢:

requestFactory.projectRequest().findAllProjects().fire(new Receiver<List<ProjectProxy>>() {  

      @Override 
      public void onSuccess(List<ProjectProxy> response) { 
       view.setProjects(response);    
      } 

     }); 

在服務器端:

public static List<Project> findAllProjects() { 
     EntityManager em = entityManager(); 
     try { 
      List<Project> list = em.createQuery("select p from Project p").getResultList(); 
      // force to get all 
      list.size(); 
      return list; 
     } finally { 
      em.close(); 
     } 
     } 

我在哪裏錯了? onModuleLoad在刷新時被調用。

+0

您在哪裏看到數據通過瀏覽器或您的服務器緩存? – 2010-12-08 16:04:09

回答

0

這可能是JPA/eclipselink緩存。如果您修改應用程序之外的數據,例如直接編輯數據庫,則不會直接採集數據。另請參閱此問題和答案:Disable caching in JPA (eclipselink)

+0

我沒有檢查。但是這聽起來很不錯;-) – ludwigm 2010-12-09 14:18:47