2

我正在使用 EJB3,但在刷新EntityManager.

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

EntityManager当我执行“选择”、“插入”、“更新”或“删除”时,有人知道如何刷新吗?

4

2 回答 2

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);
}

希望这可以帮助。

于 2012-06-14T13:20:43.820 回答
0

这是一个并发问题,您应该阅读JPA 规范第 3.4 节关于锁定和并发的内容。这包括乐观和悲观锁定以及版本化属性的使用。

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

于 2012-06-14T13:27:14.933 回答