我目前正在编写一个棘手的更新任务,其中单个实体对象可能会在原子事务中多次更新。我的合并操作看起来像这样(为了清楚起见,省略了try / catch):
@PersistenceContext protected EntityManager em;
@Resource protected UserTransaction utx;
...
utx.begin();
for (Record r : listOfRecords) em.merge(r);
utx.commit();
如果列表中有多个对给定实体的引用,会发生什么不好的事情吗?
这与 EclipseLink 2.3.2 作为 JPA 提供者有关。