Hibernate version:2.1.2
Hi all,
I have a problem mapping on a "domain type", that means the type of the column to map on is defined as "productid" and productid is declared with: CREATE DOMAIN productid AS INTEGER;
I thought this wouldn't do anything to my mapping but obviously it does.
The id-type of the Product-Table is the "domain type" and TrackClass.projectId uses it. I tried to map both Product.id and TrackClass.projectId onto int as well as onto java.lang.Integer. In both cases I get a PropertyAccessException(see stacktrace below) when querying something that uses TrackClass. TrackClass.projectId is allowed to be null from DB-side.
Mapping documents: the mapping file, that causes the exception is TrackClass: <hibernate-mapping> <class name="de.comitatus.xplanner.defect.track.model.TrackClass" table="tclass"> <id name="id" column="pkey"> <generator class="com.technoetic.xplanner.db.hibernate.HibernateIdentityGenerator"/> </id>
<property name="label" length="25" /> <many-to-one name="projectId" class="de.comitatus.xplanner.defect.track.model.Product" column="projkey"/> </class> </hibernate-mapping>
and the mapping file that TrackClass references on:
<hibernate-mapping> <class name="de.comitatus.xplanner.defect.track.model.Product" table="produkt"> <id name="id" column="id" type="java.lang.Integer" > <generator class="com.technoetic.xplanner.db.hibernate.HibernateIdentityGenerator"/> </id>
<property name="name" length="25" /> </class> </hibernate-mapping>
Full stack trace of any exception that occurs: 2005-03-21 14:13:11,841 ERROR [TaskProjectQuery] error in query: from item in class de.comitatus.xplanner.defect.track.model.WorkItem, projcat in class de.comitatus.xplanner.defect.track.model.ProjectCategory, mpproject in class de.comitatus.xplanner.defect.track.model.MPProject, product in class de.comitatus.xplanner.defect.track.model.Product, state in class de.comitatus.xplanner.defect.track.model.State, priority in class de.comitatus.xplanner.defect.track.model.Priority, where item.projectCategoryId = projcat.id and projcat.projectId = product.id and mpproject.productId = product.id and mpproject.id = :projectId and item.responsibleId != 9999 and item.stateId = state.id and state.label in ('assigned', 'processing') and item.priorityId = priority.id and priority.label != 'undefined' net.sf.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of de.comitatus.xplanner.defect.track.model.TrackClass.setProjectId at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:213) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2174) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:240) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:831) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:851) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:57) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:49) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:419) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:2081) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1955) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1917) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:68) at net.sf.hibernate.type.EntityType.resolveIdentifier(EntityType.java:215) at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2169) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:240) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:950) at net.sf.hibernate.loader.Loader.list(Loader.java:941) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at de.comitatus.xplanner.defect.track.db.WorkItemQuery.getActiveItems(WorkItemQuery.java:36) at de.comitatus.xplanner.defect.track.TrackPlusDefectTracker.getDefectsByProject(TrackPlusDefectTracker.java:90) at de.comitatus.xplanner.defect.impl.DefectTrackerManager.synchronize(DefectTrackerManager.java:92) at de.comitatus.xplanner.defect.action.TestSynchronizeAction.execute(TestSynchronizeAction.java:48) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.technoetic.xplanner.filters.RequestCharacterEncodingFilter.doFilter(RequestCharacterEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.technoetic.xplanner.security.AbstractSecurityFilter.doFilter(AbstractSecurityFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.technoetic.xplanner.filters.ServletRequestFilter.doFilter(ServletRequestFilter.java:24) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.technoetic.xplanner.db.hibernate.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Caused by: net.sf.cglib.beans.BulkBeanException at de.comitatus.xplanner.defect.track.model.TrackClass$$BulkBeanByCGLIB$$a7ff3dc0.setPropertyValues(<generated>) at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:208) ... 71 more Caused by: java.lang.ClassCastException ... 73 more
I am using
FireBird 1.5 as DB.
thanks to anyone
eMPy
|