0

每当我尝试使用 JPA 2.0 和 Websphere 运行更新查询时,都会收到 java.lang.ArrayStoreException。我正在使用测试实用程序,并且成功更新了正确的行等等,没有回滚任何事务,我只是得到了那个异常并且我的应用程序没有执行。我该如何解决...

java.lang.ArrayStoreException
    at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:188)
    at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:619)
    at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:323)
    at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:307)
    at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:600)
    at com.ibm.wbiserver.datahandler.j2w.util.SDOContentHandler.endElement(SDOContentHandler.java:185)
    at com.sun.xml.internal.bind.v2.runtime.output.SAXOutput.endTag(SAXOutput.java:129)
    at com.sun.xml.internal.bind.v2.runtime.output.XmlOutputAbstractImpl.endTag(XmlOutputAbstractImpl.java:121)
    at com.sun.xml.internal.bind.v2.runtime.output.NamespaceContextImpl$Element.endElement(NamespaceContextImpl.java:481)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.endElement(XMLSerializer.java:314)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:172)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:153)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:339)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:706)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:66)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:169)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:153)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:339)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:706)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:146)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:339)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:706)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:153)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:128)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:316)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:323)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:73)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:496)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:326)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:255)
    at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:114)
    at com.ibm.xml.xlxp2.jaxb.marshal.MarshallerProxy.marshal(MarshallerProxy.java:112)
    at com.ibm.wbiserver.datahandler.j2w.util.SDOToJavaConvertor.toDataObject(SDOToJavaConvertor.java:149)
    at com.ibm.wbiserver.datahandler.j2w.JAXBDataHandler.toDataObject(JAXBDataHandler.java:333)
    at com.ibm.wbiserver.datahandler.j2w.JAXWSDataHandler.toDataObject(JAXWSDataHandler.java:108)
    at com.ibm.wbiserver.datahandler.j2w.JAXBDataHandler$1.run(JAXBDataHandler.java:145)
    at java.security.AccessController.doPrivileged(AccessController.java:251)
    at com.ibm.wbiserver.datahandler.j2w.JAXBDataHandler.transform(JAXBDataHandler.java:121)
    at com.ibm.ws.sca.binding.ejb.handler.SLSBImportDataHandlerBinding.transformEJBResponseToDO(SLSBImportDataHandlerBinding.java:289)
    at com.ibm.ws.sca.binding.ejb.handler.EJBMessageHandler.processMessage(EJBMessageHandler.java:255)
    at com.ibm.ws.sca.binding.ejb.handler.SLSBImportNativeBindingHandler.processMessage(SLSBImportNativeBindingHandler.java:74)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(MessageDispatcherImpl.java:766)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:1607)
    at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(ManagedMessageImpl.java:980)
    at com.ibm.ws.sca.uow.handler.UOWNativeWASStrategyImpl.transactionImportExport(UOWNativeWASStrategyImpl.java:441)
    at com.ibm.ws.sca.uow.handler.JoinUOWNativeHandler.processMessage(JoinUOWNativeHandler.java:161)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(MessageDispatcherImpl.java:766)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:1607)
    at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(ManagedMessageImpl.java:980)
    at com.ibm.ws.sca.internal.webmodule.handler.WebModuleContextSwitchHandler.processMessage(WebModuleContextSwitchHandler.java:146)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(MessageDispatcherImpl.java:766)
    at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:1607)
    at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(ManagedMessageImpl.java:971)
    at com.ibm.wbit.comptest.controller.invocation.impl.Invoker.managedInvoke(Invoker.java:316)
    at com.ibm.wbit.comptest.controller.invocation.impl.Invoker.invoke(Invoker.java:196)
    at com.ibm.wbit.comptest.controller.invocation.impl.BaseInvocationHandler.invoke(BaseInvocationHandler.java:64)
    at com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.doInvoke(InvocationManager.java:67)
    at com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager$1.run(InvocationManager.java:48)
    at java.security.AccessController.doPrivileged(AccessController.java:224)
    at javax.security.auth.Subject.doAs(Subject.java:495)
    at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:131)
    at com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.invoke(InvocationManager.java:42)
    at com.ibm.wbit.comptest.controller.command.impl.BaseInteractiveEventHandler.processEvent(BaseInteractiveEventHandler.java:34)
    at com.ibm.wbit.comptest.controller.command.impl.BaseCommandHandler.doCommand(BaseCommandHandler.java:108)
    at com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(CommandProcessor.java:70)
    at com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(CommandProcessor.java:42)
    at com.ibm.wbit.comptest.controller.servlet.TestControllerServlet.process(TestControllerServlet.java:163)
    at com.ibm.wbit.comptest.controller.servlet.TestControllerServlet.doPost(TestControllerServlet.java:127)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1663)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)

每次我查找异常时,我都会得到一些类型不匹配的建议?但我不知道会是这样。一切看起来都很好......我错过了什么?有人对为什么会发生此异常有任何见解吗?

4

1 回答 1

1

在没有看到任何代码的情况下,我不得不说你在混淆你的类型。 http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/ArrayStoreException.html

您是否使用任何继承、对象或多态性并且没有过于严格地遵循类型?

我将从这里开始:

at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:188)        
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:619) 
于 2012-08-07T15:26:16.780 回答