users@glassfish.java.net

Toplink save error

From: <glassfish_at_javadesktop.org>
Date: Fri, 03 Aug 2007 18:50:05 PDT

I want to save a object an get the following merge error:

@Entity
public class Spielplatz implements Serializable {
...
        @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
        private List<Geraet> geraets;

        @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
        private List<SpielplatzArt> spielplatzArt;

        @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
        private List<Infrastruktur> infrastruktur;
...
}

The fields are only navigateable in this direction therfore the otherclasses have no backreference to this class.
[code]
[#|2007-08-04T03:39:58.774+0200|SEVERE|sun-appserver-pe9.0|javax.faces.event|_ThreadID=22;_ThreadName=httpWorkerThread-8080-2;_RequestID=89f89e30-da7e-430a-9446-855fc358bcd7;|javax.ejb.EJBException
        at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3730)
        at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3630)
        at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3431)
        at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1247)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:192)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:71)
        at $Proxy156.makePersistent(Unknown Source)
        at at.freelenzer.spielplatzinfo.web.bean.SpielplatzBean.save(SpielplatzBean.java:52)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
        at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
        at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:88)
        at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
        at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:776)
        at javax.faces.component.UICommand.broadcast(UICommand.java:368)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:450)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:759)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.lang.NullPointerException
        at oracle.toplink.essentials.internal.sessions.MergeManager.registerObjectForMergeCloneIntoWorkingCopy(MergeManager.java:642)
        at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:388)
        at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:241)
        at oracle.toplink.essentials.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:768)
        at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2058)
        at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:414)
        at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:241)
        at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:2689)
        at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.mergeInternal(EntityManagerImpl.java:198)
        at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.merge(EntityManagerImpl.java:112)
        at com.sun.enterprise.util.EntityManagerWrapper.merge(EntityManagerWrapper.java:224)
        at at.freelenzer.spielplatzinfo.ejb.framework.GenericJPADAO.merge(GenericJPADAO.java:66)
        at at.freelenzer.spielplatzinfo.ejb.framework.GenericJPADAO.makePersistent(GenericJPADAO.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184)
        ... 43 more
|#]
[/code]
[Message sent by forum member 'chris_lenz' (chris_lenz)]

http://forums.java.net/jive/thread.jspa?messageID=229469