Java org.apache.openjpa.persistence.ArgumentException

Java org.apache.openjpa.persistence.ArgumentException,java,hibernate,openjpa,argumentexception,Java,Hibernate,Openjpa,Argumentexception,我正在使用Hibernate和EJB。。。我从容器中获取了EntityManager,当我试图坚持时,我遇到了以下错误。。有人能帮忙吗 [1/25/14 23:12:46:832 CST]00000056 SystemOut O 2014-01-25 23:12:46错误XXXXXX服务:114-XXXXX筛选失败 org.apache.openjpa.persistence.ArgumentException:尝试强制转换实例“XXXXXXXXVO@9941827f“要持久化失败。确保它已得到

我正在使用Hibernate和EJB。。。我从容器中获取了EntityManager,当我试图坚持时,我遇到了以下错误。。有人能帮忙吗

[1/25/14 23:12:46:832 CST]00000056 SystemOut O 2014-01-25 23:12:46错误XXXXXX服务:114-XXXXX筛选失败 org.apache.openjpa.persistence.ArgumentException:尝试强制转换实例“XXXXXXXXVO@9941827f“要持久化失败。确保它已得到增强。 失败对象:com.XXXXX.XXXXX.XXXXX.vo。XXXXXVO@9941827f 位于org.apache.openjpa.kernel.BrokerImpl.assertPersistenceCapable(BrokerImpl.java:4665) 位于org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2626) 位于org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571) 位于org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554) 位于org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2458) 位于org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1077) 位于org.apache.openjpa.persistence.EntityManagerImpl.persistent(EntityManagerImpl.java:716) 位于com.ibm.ws.jpa.management.jpaexeminoviage.persist(jpaexeminoviage.java:317) 位于com.ibm.ws.jpa.management.JPAEntityManager.persist(JPAEntityManager.java:143) 在XXXXXXX.persistCCCCResult(XXXXXXX.java:192) 在XXXXXXX.preparecccresponse(XXXXXXX.java:176) 在XXXXXXX.requestccreening(XXXXXXX.java:108) 在xxxxxxx service.requestccreening(ccccccservice.java:59) 在xxxxxxxx,EJSRemote0SLCCCCCervice_0e27d761。请求ccccccreening(EJSRemote0SLCCCCCervice_0e27d761.java) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)中 位于java.lang.reflect.Method.invoke(Method.java:611) 位于com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:609) 位于java.security.AccessController.doPrivileged(AccessController.java:280) 位于com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:606) 位于com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1177) 在$Proxy225.请求筛选(未知来源) 在com.XXXXX.XXXXX.XXXXX.service.remote.XXXXX.\ccccccc-erviceremote\u Stub.requestcccccccccccreen(\ccccccc-erviceremote\u Stub.java:1) 在com.XXXXX.XXXXX.servlet.cccccccreening.doGet上(cccccreening.java:68) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:575) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:774) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:456) 位于com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.HandlerRequest(ServletWrapperImpl.java:178) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters上(WebAppFilterManager.java:1027) 位于com.ibm.ws.webcontainer.servlet.CacheServletWrapper.HandlerRequest(CacheServletWrapper.java:87) 位于com.ibm.ws.webcontainer.webcontainer.handleRequest(webcontainer.java:895) 位于com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 位于com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522) 在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)上 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:282) 位于com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 位于com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 在com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted上(AioReadCompletionListener.java:165) 位于com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 位于com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 位于com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 位于com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 位于com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 位于com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 位于com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)


org.hibernate.ejb.HibernatePersistence
XXXXXXXXX.TempVO

根据Java stacktrace,您使用的是OpenJPA而不是Hibernate,对吗


如果启用了运行时增强功能,则必须列出所有实体。您是否尝试使用OpenJPA增强器增强Java类?查找有关增强实体的更多信息。

嗨,彼得,谢谢。。我使用的是Hibernate,我的持久性XML中没有包含OpenJAP增强器。但是为什么stacktrace中有org.apache.openjpa呢?我猜OpenJPA是JEE容器的默认JPA提供者,配置必须是固定的。
<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
 http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
 <persistence-unit name="poc" transaction-type="RESOURCE_LOCAL">
   <provider>org.hibernate.ejb.HibernatePersistence</provider> 
   <class>XXXXXXXXX.TempVO</class>   
    <properties>
         <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
         <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@XXXXXXXXX" />
         <property name="javax.persistence.jdbc.user" value="XXXXX" />
         <property name="javax.persistence.jdbc.password" value="XXXXX" />
         <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
         <property name="hibernate.show_sql" value="true" />
      </properties> 
  </persistence-unit>

 </persistence>