[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.rt.eclipselink] MergeChangeSetCommand NullPointerException" in remote EclipseLink Session
|
I am using EclipseLink 1.0.2.
I have Parent & Child with 1:m relationship. When I delete a child object
which is held in Parent's child collection (ValuHolder)I am getting
"command type MergeChangeSetCommand Internal Exception:
java.lang.NullPointerException" in remote EclipseLink session. I didn't
get this kind of error in toplink.
Parent has 1: m with Child.
OneToManyMapping childsMapping = new OneToManyMapping();
childsMapping.setAttributeName("childs");
childsMapping.setReferenceClass(Child.class);
childsMapping.setRelationshipPartnerAttributeName("parent");
childsMapping.privateOwnedRelationship();
childsMapping.useBasicIndirection();
Child has back reference to Parent.
DirectToFieldMapping parentIdMapping = new DirectToFieldMapping();
parentIdMapping.setAttributeName("parentId");
parentIdMapping.setFieldName("t_Child.parent_id");
descriptor.addMapping(parentIdMapping);
OneToOneMapping parentMapping = new OneToOneMapping();
parentMapping.setAttributeName("parent");
parentMapping.setReferenceClass(Parent.class);
parentMapping.setRelationshipPartnerAttributeName("childs");
parentMapping.useBasicIndirection();
parentMapping.addForeignKeyFieldName("t_Child.parent_id", "t_Parent.id");
I am using ValueHolder for holding relationship object.
When I remove child from Parent's child collection, everything works fine
in local session. But following exception occures in remote EclipseLink
session. In remote session, When Eclipselink tries to remove child object,
it doesn't get entry of child object in its identityMap. Hence while
removing child object,following excpetion comes.
command type MergeChangeSetCommand
Internal Exception: java.lang.NullPointerException
at
org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorProcessingRemoteCommand(RemoteCommandManagerException.j
ava:208)
at
org.eclipse.persistence.internal.sessions.coordination.broadcast.BroadcastRemoteConnection.processReceivedObject(BroadcastRem
oteConnection.java:184)
at
org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection.onMessage(JMSTopicRemoteConnection.java:1
79)
at
org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection$JMSOnMessageHelper.run(JMSTopicRemoteConn
ection.java:348)
at
org.eclipse.persistence.internal.queries.MapContainerPolicy.keyFrom(MapContainerPolicy.java:277)
at
org.eclipse.persistence.internal.queries.MapContainerPolicy.removeFrom(MapContainerPolicy.java:339)
at
org.eclipse.persistence.internal.queries.ContainerPolicy.mergeChanges(ContainerPolicy.java:653)
at
org.eclipse.persistence.mappings.CollectionMapping.mergeChangesIntoObject(CollectionMapping.java:756)
at
org.eclipse.persistence.internal.descriptors.ObjectBuilder.mergeChangesIntoObject(ObjectBuilder.java:2476)
at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesIntoDistributedCache(MergeManager.java:417)
at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChanges(MergeManager.java:247)
at
org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesFromChangeSet(MergeManager.java:344)
Can anyone please give suggestions?
Thanks for any help.