Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Problem with merge and commit

Looks like Bug 241322 - JPA Collection mapping assumes clone is implemented/supported
https://bugs.eclipse.org/bugs/show_bug.cgi?id=241322
which you can vote for.  There is a workaround posted if you must use a collection type that does not support clone.

Best Regards,
Chris

On 15/06/2010 11:41 AM, zlaja wrote:
I sometimes get this stack trace during EntityManager merge or transaction
commit :

Local Exception Stack: 
Exception [EclipseLink-6055] (Eclipse Persistence Services - 1.0.1 (Build
20080905)): org.eclipse.persistence.exceptions.QueryException
Exception Description: The method invocation of the method [protected native
java.lang.Object java.lang.Object.clone() throws
java.lang.CloneNotSupportedException] on the object
[[com.incrementum.mat.entity.MatConn@21]], of class [class
java.util.Collections$SynchronizedRandomAccessList], triggered an exception.
Internal Exception: java.lang.reflect.InvocationTargetException
Target Invocation Exception: java.lang.CloneNotSupportedException:
java.util.Collections$SynchronizedRandomAccessList
	at
org.eclipse.persistence.exceptions.QueryException.methodInvocationFailed(QueryException.java:762)
	at
org.eclipse.persistence.internal.queries.InterfaceContainerPolicy.invokeCloneMethodOn(InterfaceContainerPolicy.java:208)
	at
org.eclipse.persistence.internal.queries.InterfaceContainerPolicy.cloneFor(InterfaceContainerPolicy.java:92)
	at
org.eclipse.persistence.mappings.CollectionMapping.buildCloneForPartObject(CollectionMapping.java:159)
	at
org.eclipse.persistence.internal.indirection.TransparentIndirectionPolicy.cloneAttribute(TransparentIndirectionPolicy.java:132)
	at
org.eclipse.persistence.mappings.ForeignReferenceMapping.buildClone(ForeignReferenceMapping.java:148)
	at
org.eclipse.persistence.internal.descriptors.ObjectBuilder.populateAttributesForClone(ObjectBuilder.java:2545)
	at
org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.cloneAndRegisterNewObject(RepeatableWriteUnitOfWork.java:437)
	at
org.eclipse.persistence.internal.sessions.MergeManager.registerObjectForMergeCloneIntoWorkingCopy(MergeManager.java:834)
	at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:447)
	at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
	at
org.eclipse.persistence.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:877)
	at
org.eclipse.persistence.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2514)
	at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:480)
	at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
	at
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3192)
	at
org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.mergeCloneWithReferences(RepeatableWriteUnitOfWork.java:257)
	at
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3156)
	at
org.eclipse.persistence.internal.jpa.EntityManagerImpl.mergeInternal(EntityManagerImpl.java:264)
	at
org.eclipse.persistence.internal.jpa.EntityManagerImpl.merge(EntityManagerImpl.java:242)
	at
com.incrementum.actions.mat.ActionPreparePopis.action(ActionPreparePopis.java:37)


Any idea ?

Thanks
Zlaja

  

Back to the top