首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring entitymanager

Spring entitymanager
EN

Stack Overflow用户
提问于 2015-03-01 21:10:05
回答 1查看 66关注 0票数 2

我的申请遇到了一个问题。我的应用程序从队列中读取消息并保存到数据库中。记录的插入效果很好。但是当涉及到更新时,它是随机缺失的。已正确更新,但10%的记录未随机更新。下面是我使用的代码片段,记录如下:

代码语言:javascript
复制
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();

    }
EN

回答 1

Stack Overflow用户

发布于 2015-03-02 21:41:38

在运行查询之前,需要刷新EntityManager。看起来大多数时候这种情况已经发生了,但是当新的EventTransaction还没有写入数据库时,就没有什么需要更新的了。然后,您的数据库事务提交,并在提交过程中刷新EntityManager,将未更改的EventTransaction写入数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28793920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档