我正在使用持久對象使用JPA。主對象與另一個對象擁有擁有一對多關係。另一個對象存儲在一個HashMap中。什麼樣的同步可以解決這個問題?它似乎發生在完全隨機的時間,並且非常不可預測。這裏是我得到的例外:ConcurrentModificationException和一個HashMap
Exception in thread "pool-1-thread-1" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$ValueIterator.next(Unknown Source)
at org.hibernate.collection.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:555)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
你能否提供一些更多的合作NTEXT?你在合併,更新或刪除一個實體嗎?這個實體有什麼關聯?你的級聯設置如何? – ordnungswidrig 2009-03-03 11:52:20
從堆棧跟蹤中,您可以看到異常發生在迭代HashMap時。當然其他線程正在修改地圖,但異常發生在迭代的線程中。 – Chochos 2010-08-31 14:43:32
可能的重複[迭代通過集合,避免ConcurrentModificationException在循環中刪除時](http://stackoverflow.com/questions/223918/iterating-through-a-collection-avoiding-concurrentmodificationexception-when-re) – Raedwald 2016-03-28 14:31:32