EclipseLink(1.1.2)が良く分からないエラーを吐く。何でConcurrentModificationExceptionになるんだろう。
java.util.ConcurrentModificationException java.util.IdentityHashMap$IdentityHashMapIterator.nextIndex(IdentityHashMap.java:715) java.util.IdentityHashMap$KeyIterator.next(IdentityHashMap.java:804) org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.calculateChanges(UnitOfWorkImpl.java:567) org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.writeChanges(RepeatableWriteUnitOfWork.java:308) org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:527) org.eclipse.persistence.internal.jpa.EJBQueryImpl.performPreQueryFlush(EJBQueryImpl.java:1010) org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:344) org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:568)
いまEclipseLinkのソースを読んでます… うう、メンドクサイ。
(追記)
どうやら、双方向関連を持つエンティティを更新するときに、更新値のセットの仕方をミスると発生する模様です。
この問題については、ひとまずアタリが付いたので、これ以上深掘りしないことにしておきます。
(更に追記)
とうとう解決しました。コチラをご覧ください。