Hi Marc, Could you post the query you're using, and any properties from persistence.xml? I took a quick shot at reproducing the problem, but haven't had any luck, maybe the query / persistence properties will help me narrow in on the problem.
-mike On Mon, Aug 29, 2011 at 6:07 PM, Marc Logemann <[email protected]> wrote: > hmm. it seems to be a data issue but a strange one. If the child entity > (OrderPosition) has no reference to an entity in ContainerShipment (parent), > i will get this stack trace. Normally i would think that attribute > List<OrderPosition> orderPositions would be null in ContainerShipment and > everything is fine but somehow i need at least one "n" relation. Never > experienced this.... > > Here is my back reference in OrderPosition. > > @ManyToOne > @JoinColumn(name = "con_ship_id", referencedColumnName = "id") > ContainerShipment containerShipment; > > still confused. > > --- > regards > Marc Logemann > http://www.logemann.org > http://www.logentis.de > > > > > Am 29.08.2011 um 23:57 schrieb Marc Logemann: > > > Hi, > > > > aother openjpa thing. Most likely again not a bug but i will try ;-) > > > > I have a normal 1:n relation in my ContainerShipment class which works > pretty well. > > > > @OneToMany(mappedBy = "containerShipment", cascade = CascadeType.ALL) > > List<OrderPosition> orderPositions; > > > > but as soon as i annotate with FetchType.EAGER... > > > > @OneToMany(mappedBy = "containerShipment", cascade = CascadeType.ALL, > fetch = FetchType.EAGER) > > List<OrderPosition> orderPositions; > > > > i get this stack trace and i really dont have a clue. I checked > gazillions of things w/o success. I also made sure that every record as a > perfect relation so that i can be sure thats not a data content issue. Any > ideas? > > > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > </pre></p><p><b>root cause</b> <pre>java.lang.ClassCastException: > org.apache.openjpa.util.IntId cannot be cast to > de.logentis.bwh.model.ContainerShipment > > > de.logentis.bwh.model.OrderPosition.pcReplaceField(OrderPosition.java) > > > org.apache.openjpa.kernel.StateManagerImpl.replaceField(StateManagerImpl.java:3162) > > > org.apache.openjpa.kernel.StateManagerImpl.storeObjectField(StateManagerImpl.java:2596) > > > org.apache.openjpa.kernel.StateManagerImpl.storeObject(StateManagerImpl.java:2586) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setMappedBy(JDBCStoreManager.java:505) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:431) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:333) > > > org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112) > > > org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57) > > > org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1027) > > org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:985) > > org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:907) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1041) > > > org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280) > > > org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2381) > > > org.apache.openjpa.jdbc.meta.strats.RelationToManyInverseKeyFieldStrategy.loadElement(RelationToManyInverseKeyFieldStrategy.java:90) > > > org.apache.openjpa.jdbc.meta.strats.RelationCollectionInverseKeyFieldStrategy.loadElement(RelationCollectionInverseKeyFieldStrategy.java:76) > > > org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy.processEagerParallelResult(StoreCollectionFieldStrategy.java:312) > > > org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy.loadEagerParallel(StoreCollectionFieldStrategy.java:246) > > > org.apache.openjpa.jdbc.meta.FieldMapping.loadEagerParallel(FieldMapping.java:916) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1114) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1067) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:438) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:333) > > > org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112) > > > org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57) > > > org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1027) > > org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:985) > > org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:907) > > > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1041) > > > org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280) > > > org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2381) > > > org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274) > > > org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59) > > > org.apache.openjpa.kernel.QueryImpl$PackingResultObjectProvider.getResultObject(QueryImpl.java:2075) > > > org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36) > > org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1251) > > org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007) > > org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863) > > org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794) > > > org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) > > > org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:315) > > > org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:331) > > > org.springframework.data.jpa.repository.support.SimpleJpaRepository.readPage(SimpleJpaRepository.java:434) > > > org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:303) > > > org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:260) > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > java.lang.reflect.Method.invoke(Method.java:597) > > > org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:361) > > > org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:342) > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > > > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > > > org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155) > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) > > $Proxy135.findAll(Unknown Source) > > > de.netstorsys.controller.rest.ContainerShipmentRestController.showAll(ContainerShipmentRestController.java:51) > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > java.lang.reflect.Method.invoke(Method.java:597) > > > org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) > > > org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) > > > org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) > > > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > --- > > regards > > Marc Logemann > > > > > > > >
