JPA当持久化实体使用glassfish服务器时给出错误im,CLAASES是从netbeans IDE生成的
原因:java.lang.IllegalArgumentException:Object:com.rentsys.entity.Watch[id=50]不是已知的实体类型。 位于org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersistUnitOfWorkImpl.java:4222 位于org.eclipse.persistence.internal.jpa.EntityManagerImpl.persistEntityManagerImpl.java:496 位于com.rentsys.sessionbean.RemoteEJBSessionBean.businessMethodRemoteEJBSessionBean.java:33 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:606 位于org.glassfish.ejb.security.application.EJBSecurityManager.runMethodEJBSecurityManager.java:1081 位于org.glassfish.ejb.security.application.EJBSecurityManager.invokeEJBSecurityManager.java:1153 位于com.sun.ejb.containers.BaseContainer.invokeBeanMethodBaseContainer.java:4695 在com.sun.ejb.ejbInvokeBeanMethodejbInvoke.java:630 在com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNextInterceptorManager.java:822 位于com.sun.ejb.ejbinavocation.proceedejbinavocation.java:582 位于org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvokeAstractEJBRequestScopeActivationInterceptor.java:55 位于sun.reflect.GeneratedMethodAccessor492.invokeUnknown源 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:606 位于com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.InterceptorManager.java:883 在com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNextInterceptorManager.java:822 位于com.sun.ejb.ejbinavocation.proceedejbinavocation.java:582 位于com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCallSystemInterceptorProxy.java:163 位于com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvokeSystemInterceptorProxy.java:140 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:606 位于com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.InterceptorManager.java:883 在com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNextInterceptorManager.java:822 在com.sun.ejb.containers.interceptors.InterceptorManager.interceptorceptormanager.java:369 在com.sun.ejb.containers.BaseContainer.\uu-BaseContainer.java:4667 位于com.sun.ejb.containers.BaseContainer.interceptBaseContainer.java:4655 位于com.sun.ejb.containers.EJBObjectInvocationHandler.invokeEJBObjectInvocationHandler.java:205 ... 67多 ================================================================JPA当持久化实体使用glassfish服务器时给出错误im,CLAASES是从netbeans IDE生成的,jpa,Jpa,原因:java.lang.IllegalArgumentException:Object:com.rentsys.entity.Watch[id=50]不是已知的实体类型。 位于org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersistUnitOfWorkImpl.java:4222 位于org.eclipse.persistence.internal.jpa.EntityManager
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 35 more
}
=======================================
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 35 more
@实体
@Tablename=WATCH,catalog=,schema=CHARAKA
公共类监视实现可序列化{
public class RemoteEJBSessionBean implements RemoteEJBSessionBeanRemote {
@Override
public void businessMethod() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("RentSysPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
String a="Called";
Watch phon = new Watch(10);
phon.setId(50);
phon.setMachine("aaaaaaa");
em.persist(phon);
em.getTransaction().commit();
em.close();
emf.close();
}
// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
}
========================================
persistence.xml
org.eclipse.persistence.jpa.PersistenceProvider
伦瑟斯
com.rentsys.entity.Phone
符合事实的
发现问题
问题是关于galssfish服务器,您需要提到连接池中的所有db realted proerties,并通过glass fish的管理面板将该连接池分配给数据源
数据库URL
用户名
暗语
数据库名
我无法上传配置的图像,因为我没有rep for it plz concatct anuboady任何人都需要没有人会在没有看到代码和完整stacktrace的情况下帮助你。所以你不会在persistence.xml中列出类Watch并说排除未列出的类,然后当JPA提供商不知道该实体时,你会感到惊讶吗?真正地错误的建议这会起作用吗???