Hi to All, I have been developing an application with seam for sometime and now I am trying to introduce testing. Everything seems to work ok with the testing environment and configuration. However I am getting the following exception while implementing tests using TestNG.
Caused by: org.hibernate.MappingException: Unknown entity: Category_$$_javassist_1 | at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550) | at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338) | at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180) | at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512) | at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80) | 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:338) | at CategoryAction.save(CategoryAction.java:142) | 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:20) | at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57) | at org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69) | at org.jboss.seam.interceptors.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:37) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69) | at org.jboss.seam.interceptors.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:34) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69) | at org.jboss.seam.interceptors.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:54) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69) | at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27) | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69) | at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103) | at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151) | at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87) | at CategoryAction_$$_javassist_0.save(CategoryAction_$$_javassist_0.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 com.sun.el.parser.AstValue.invoke(AstValue.java:174) hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> | <!DOCTYPE hibernate-configuration PUBLIC | "-//Hibernate/Hibernate Configuration DTD//EN" | "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> | | <hibernate-configuration> | <session-factory name="session"> | | <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/dummydatabase</property> | <property name="hibernate.connection.driver_class">org.postgresql.ds.PGSimpleDataSource</property> | <property name="hibernate.connection.user">user</property> | <property name="hibernate.connection.password">password</property> | | <property name="hbm2ddl.auto">create-drop</property> | <property name="show_sql">true</property> | <property name="transaction.flush_before_completion">true</property> | <property name="connection.release_mode">after_statement</property> | <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property> | <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> | <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> | <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> | | <!-- Mapping files --> | <!--mapping resource="category.hbm.xml"/--> | <mapping resource="variable.hbm.xml"/> | <mapping resource="value.hbm.xml"/> | <mapping resource="item.hbm.xml"/> | </session-factory> | </hibernate-configuration> components.xml <?xml version="1.0" encoding="UTF-8"?> | | <components xmlns="http://jboss.com/products/seam/components" | xmlns:core="http://jboss.com/products/seam/core" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation=" | http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.1.xsd | http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.1.xsd | "> | | | <core:init jndi-pattern="java:comp/env/payroll-ejb/#{ejbName}/local" debug="false"/> | | <core:manager conversation-timeout="120000" | concurrent-request-timeout="500" | conversation-id-parameter="cid" | conversation-is-long-running-parameter="clr"/> | | <core:transactionListener/> | <core:ejb installed="true"/> | | | <core:hibernate-session-factory name="hibernateSessionFactory"/> | <core:managed-hibernate-session name="session" auto-create="true" session-factory-jndi-name="session"/> | </components> Test File Source Code import datassist.payroll.entity.Category; | import org.jboss.seam.contexts.Contexts; | import org.jboss.seam.mock.SeamTest; | import org.jboss.seam.mock.SeamTest.FacesRequest; | import org.testng.annotations.Test; | | public class TestIntact extends SeamTest { | | @Test | public void facesTestIntact_I() throws Exception { | | new FacesRequest() { | | @Override | protected void invokeApplication() throws Exception { | assert invokeMethod("#{categoryAction.nevv(\"U\")}").equals("categoryDefine"); | } | | }.run(); | | String id = new FacesRequest("/categoryDefine.xhtml") { | | @Override | protected void updateModelValues() throws Exception { | setValue("#{category.name}","TEST MANIA"); | } | | @Override | protected void invokeApplication() { | assert invokeMethod("#{categoryAction.save}").equals("categoryTree"); | | } | | @Override | protected void renderResponse(){ | assert true; | } | | }.run(); | } | | } CategoryAction.java @End | public String save(){ | category.stripUnusedValues(); | if (isUpdateState()) | category.arrangeValues(lastEffectiveDate); | session.saveOrUpdate(category); | Category parent=category.getParentCategory(); | if (parent!=null && !parent.getChildCategories().contains(category)) | parent.addToChildCategories(category); | session.flush(); | Events.instance().raiseEvent("categoryTreeRefresh"); | category.blur(); | return "categoryTree"; | } Version of javassist: 3.6 I am getting the exception when executing the line session.saveOrUpdate(category) on CategoryAction.java View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098094#4098094 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098094 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
