2013-05-12 61 views
0

我正在使用Data Nucleus JPA作爲我的GWT應用程序中的持久性。我堅持在實體的API看起來像這樣:實體在提交數據核後未立即查詢JPA


EntityManager em = EMF.getEM();

try { 
    em.getTransaction().begin(); 
    if(!em.contains(this)){ 
     em.persist(this); 
     em.flush(); 
    } 
    em.getTransaction().commit(); 
} finally { 
    em.close(); 
} 

我下面這個文件:http://www.datanucleus.org/products/datanucleus/jpa/transactions.html#local

此代碼工作正常,並提交數據。但是當我在提交後立即查詢提交的記錄時,有時不會查詢實體。如果我在幾秒鐘後查詢,它會被查詢。請注意,這個問題是間歇性的。

任何提示/建議可能是這個間歇性問題的原因是什麼?

感謝

+0

你的意思是在appengine? – DataNucleus 2013-05-13 06:55:07

+0

是的。我在谷歌應用程序引擎上運行它。 – user2248457 2013-05-13 11:49:09

回答

0

建議你做一個谷歌搜索「最終一致性」和閱讀GAE文檔,因爲它提到這個概念強相合約Strcuturing

+0

這聽起來非常不符合行爲的問題。我會仔細看看的。感謝指針。 – user2248457 2013-05-13 15:43:29