2014-03-19 1 views
0

에서 이루어집니다 영속화 내가 어떤 스레드들이받은에 다음 코드를 가지고, 지금까지 내가 그것을 이것은 물론 시도의 catch 블록에있는방법, A는 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(); 

에서 지속 할 수있을 때까지 병합 대기 질문은 다음과 같습니다. 지속성이 만들어 질 때까지 병합을 기다리는 방법은 무엇입니까?

들으 :)

답변

1

persist() 후에는 트랜잭션을 커밋합니다. 성공적으로 커밋 한 후에는 지속 작업이 정확하다는 보장을받을 수 있으므로 더 이상 병합() 할 수 있습니다. 그래서 당신의 코드는 나에게 괜찮은 것 같습니다.