2012-07-06 80 views
-2

我有一个批次更新另一个数据库中的实体,我使用与主应用程序中使用的实体管理器相同的实体管理器,但是我看不到实体中的更改,直到我重新启动TomcatServer。Jpa实体管理器:没有考虑到更改

+0

刷新单个实体你能告诉代码的相关位? – Puce 2012-07-06 09:55:26

+0

您正在使用哪种技术。你在用春天吗?你正在使用哪个jpa实现。你能提供更多的信息吗? – 2012-07-06 09:59:59

回答

0

EntityManager不知道批量操作。在JPA 2.0规范,这是告诉与下面的话:

注意应在执行批量更新或删除操作 时使用,因为它们可能会导致在数据库中并且 在活性的持久性的上下文中的实体之间的不一致性。通常,只应在新持久性上下文中的 事务内或在获取前执行批量更新和删除操作,或者在访问其状态可能受此类操作影响的实体时执行批量更新和删除操作。

你可以做的是通过EntityManager.refresh(Object entity)