[JBoss Seam] - 2.0.0 GA migration: Not an entity class
by laksu
Hi,
First, thank you for the great product and congratulations for the new release. Great job!
... and the problem:
I have spent a few hours now for migrating my app from 1.2.1. I had to deal with a number of things and resolved but stuck with that one. My app starts and works nicely till it gets to the first "insert" with the following stack trace.
Hibernate: select nextval ('hibernate_sequence')
| java.lang.IllegalArgumentException: Not an entity class: datassist.payroll.entity.Category
| javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: Not an entity class: datassist.payroll.entity.Category
| at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:97)
| at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:96)
| at javax.faces.component.UICommand.broadcast(UICommand.java:383)
| at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
| at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
| at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
| 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.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
| at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
| 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.IllegalArgumentException: Not an entity class: datassist.payroll.entity.Category
| at org.jboss.seam.Entity.forClass(Entity.java:208)
| at org.jboss.seam.persistence.PersistenceProvider.getPrePersistMethod(PersistenceProvider.java:159)
| at org.jboss.seam.security.Identity.checkEntityPermission(Identity.java:681)
| at org.jboss.seam.security.HibernateSecurityInterceptor.onSave(HibernateSecurityInterceptor.java:73)
| at org.hibernate.event.def.AbstractSaveEventListener.substituteValuesIfNecessary(AbstractSaveEventListener.java:394)
| at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:270)
| at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
| at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
| at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
| at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
| at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
| at org.jboss.seam.persistence.HibernateSessionProxy.saveOrUpdate(HibernateSessionProxy.java:370)
| at datassist.payroll.action.CategoryAction.save(CategoryAction.java:131)
| 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 org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
| at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:48)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:56)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
| at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
| at datassist.payroll.action.CategoryAction_$$_javassist_2.save(CategoryAction_$$_javassist_2.java)
| 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 org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
| at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
| at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
| at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
| at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
| at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
| ... 51 more
|
Category is a mapped class and previously in the log is:
| ...
| Mapping class: datassist.payroll.entity.Item -> Item
| Mapping union-subclass: datassist.payroll.entity.Category -> Category
| Mapping union-subclass: datassist.payroll.entity.Unit -> Unit
| ...
|
That code worked before migration.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4102334#4102334
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4102334
18 years, 6 months
[JBoss Seam] - Serialization Exclusions
by andres.testi
Hi people:
In order to avoid the declaration of DTOs when I try to send my bussines beans to another context (for example, retrieving beans with Remote EJB or Web Remoting). In order to check security constraints, I would like to exclude properties depending on the permissions of the user logged on, mixin the way as @WebRemote and @Restrict works. I would like to annotate my Entities in the next way:
@Name("person")
class Person implements Serializable{
....
@SerializeWhen("#{s:hasPermission('manager')}")
List getFriends(){....}
}
We can detect "Serialization Gateways", like an EJB remote call or WebRemote call, and perform an implicit invocation of a "serializeWithRestrictions()" method to serialize only the permissed properties.
Are there a way to perform a checking like this in Seam?
Thank You!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4102329#4102329
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4102329
18 years, 6 months
[EJB 3.0] - Re: My EJB don't access the database
by LeandroSeverino
jaikiran,
Don't work.
Strange, but in the stacktrace show-me this lines:
| at $Proxy105.findAll(Unknown Source)
|
and
| 15:51:52,990 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
|
I make a test in a servlet:
| try {
| Context c = new InitialContext();
| DataSource ds = (DataSource) c.lookup("java:/maragato");
| try {
| Connection con = (Connection) ds.getConnection();
| System.out.println(con.isClosed());
| //Properties prop = con.getClientInfo();
| System.out.println(con.getCatalog());
| System.out.println(con.isReadOnly());
| } catch (SQLException ex) {
| ex.printStackTrace();
| }
| }
| catch(NamingException ne) {
| Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);
| throw new RuntimeException(ne);
| }
|
and the connection and the datasource is not null.
I think that the problem is between the JPA and local-tx-datasource, but what is the problem ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4102323#4102323
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4102323
18 years, 6 months