2014-03-19 52 views
0

搞得我有一些線程下執行如下代碼,到目前爲止,我可以使它在如何等待合併到一份堅持在JPA

 entityManager = DatabaseCommon.getEntityManager(); 

     entityManager.getTransaction().begin(); 
     entityManager.persist(smsReceived); 
     entityManager.getTransaction().commit(); 

     sendedMo = sendMo(); //that method consumes a WS. 

     if (sendedMo) { 
      smsReceived.setSmsStatus("0"); 
     } 

     entityManager.getTransaction().begin(); 
     entityManager.merge(smsReceived); 
     entityManager.getTransaction().commit(); 

這是當然的一個嘗試catch塊堅持,所以,問題是:如何等待合併,直到持續存在?

THX :)

回答

1

persist()後,您提交事務。成功提交後,您可以保證持久性操作是正確的,因此您可以像進行一樣自由地進一步合併()。所以你的代碼對我來說似乎沒問題。