使用JPA连接刷新

时间:2012-06-14 13:03:08

标签: java jpa orm ejb-3.0

我正在使用EJB3,我遇到了与刷新EntityManager相关的问题。

问题在于我的应用程序必须准备好供很多人使用,但是如果一个人更新同一个日期,那么EntityManager并不是那个行,并且它看不到其他人在x之后所做的更改分钟。

当我进行“选择”,“插入”,“更新”或“删除”时,是否有人知道如何刷新EntityManager

2 个答案:

答案 0 :(得分:0)

尝试刷新实体。例如:

public void create(MyEntity entity) {
    getEntityManager().persist(entity);
    getEntityManager().flush();
    getEntityManager().refresh(entity);
}

public void edit(MyEntity entity) {
    getEntityManager().merge(entity);
    getEntityManager().flush();
    getEntityManager().refresh(entity);
}

希望这有帮助。

答案 1 :(得分:0)

这是一个并发问题,您应该阅读有关锁定和并发的JPA Specification部分3.4。这包括乐观和悲观锁定以及版本化属性的使用。

另外,第3.2.5节介绍了如何刷新实体实例。