【发布时间】:2015-03-01 13:10:05
【问题描述】:
我的应用程序遇到问题。我的应用程序从队列中读取消息并保存到数据库。插入记录是好的。但是在更新时,它会随机丢失。正确更新,但 10% 的记录没有随机更新。下面的大部分记录是我正在使用的代码的 sn-p:
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@PersistenceContext
protected EntityManager entityManager;
@Override
public int updateTransaction(AuditRequest auditRequest) throws TesException {
LOG.info("updateTransaction : Updating Event Transaction");
Query query = entityManager.createNamedQuery("updateEventTransactionQuery");
query.setParameter("status", auditRequest.getStatus());
query.setParameter("failureInfo", auditRequest.getFailureInfo());
query.setParameter("endDateTimestamp", getTimestamp(auditRequest.getEndDateTime()));
query.setParameter("transUID", auditRequest.getTransUID());
query.setParameter("transaction", auditRequest.getTransaction());
return query.executeUpdate();
}
【问题讨论】:
-
当您说没有更新时,您的意思是更新运行良好但更新了 0 行?
-
是的,史蒂夫。查询.executeUpdate();当我说没有更新时返回 0。
-
Steve 我在收到对我的服务的请求时插入一条新记录,并在服务完成调用时更新相同的记录。下面是插入逻辑。
-
public EventTransaction insertTransaction(AuditRequest auditRequest) throws TesException { EventTransaction et= new EventTransaction(); et.setTransUID(auditRequest.getTransUID()); et.setTransaction(auditRequest.getTransaction()); et.setStartDateTimestamp(getTimestamp(auditRequest.getStartDateTime())); et.setStatus(auditRequest.getStatus()); et.setSourceType(auditRequest.getSourceType()); et.setSource(auditRequest.getSource()); et.setData(auditRequest.getData()); et= super.create(et);返回等; }
标签: spring entitymanager