Jon, can you please file a bug report at http://bugzilla.exolab.org, and I'll look into this issue tomorrow. Actually, I have not changed lazy loading for collections, but only introduced support for lazy loading for 1:1 relations. But it looks to me like Castor is getting confused a bug about where to apply which method.
Thanks Werner On Sat, 15 Jan 2005 18:23:40 -0800 (PST), Jon Wilmoth wrote: > >It looks like the lazy loading has changed in 0.9.6 >from 0.9.5.3. I'm getting an reflection based >exception trying to load a class that has a property >who in turn has a lazy loaded collection. The lazy >loaded property on the Project class has the following >mapping/java declaration: > >//marked transient since the castor persistent >collection is not serializeable >protected transient Collection phases = new >ArrayList(); > ><field name="phases" >type="com.apex.chronos.app.project.Phase" lazy="true" >collection="collection"> > <sql many-key="PROJECT_ID"/> > <bind-xml name="phases" node="element" >transient="false"/> ></field> > >What do I need to do to get lazy loading working in >this release? > >Thanks, >Jon > > >Jan-15-2005 5:56:56:020 PM, PST [ERROR] >(org.exolab.castor.persist.SingleProxy:?) -- error on >enhance class com.apex.chronos.app.project.Project >net.sf.cglib.core.CodeGenerationException: >java.lang.IllegalAccessException-->Class >org.exolab.castor.persist.SingleProxy can not access a >member of class >com.apex.chronos.app.project.BasicProject with >modifiers "protected" > at >net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:235) > at >net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:220) > at >net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:216) > at >net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:566) > at >net.sf.cglib.proxy.Enhancer.firstInstance(Enhancer.java:493) > at >net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:220) > at >net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:368) > at >net.sf.cglib.proxy.Enhancer.create(Enhancer.java:280) > at >net.sf.cglib.proxy.Enhancer.create(Enhancer.java:597) > at >org.exolab.castor.persist.SingleProxy.getProxy(ClassMolder.java:3243) > at >org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:776) > at >org.exolab.castor.persist.LockEngine.load(LockEngine.java:361) > at >org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:698) > at >org.exolab.castor.persist.QueryResults.fetch(QueryResults.java:229) > at >org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:602) > at >org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:585) > at >com.apex.chronos.app.AbstractBusinessObject.executeFind(AbstractBusinessObject.java:841) > at >com.apex.chronos.app.AbstractBusinessObject.executeFind(AbstractBusinessObject.java:817) > at >com.apex.chronos.app.AbstractBusinessObject.executeFind(AbstractBusinessObject.java:809) > at >com.apex.chronos.app.authorization.ProjectRoleAssignment.findByPersonIdAndProjectId(ProjectRoleAssignment.java:121) > at >com.apex.chronos.app.authorization.AuthorizationGuard.getProjectRoleAssignments(AuthorizationGuard.java:332) > at >com.apex.chronos.app.authorization.AuthorizationGuard.getActiveProjectRoleAssignments(AuthorizationGuard.java:347) > at >com.apex.chronos.app.authorization.AuthorizationGuard.hasProjectAuthorization(AuthorizationGuard.java:701) > at >com.apex.chronos.app.authorization.AuthorizationGuard.isAuthorized(AuthorizationGuard.java:125) > at >com.apex.chronos.app.authorization.AuthorizationGuard.isAuthorizedToView(AuthorizationGuard.java:74) > at >com.apex.chronos.app.AbstractBusinessObject.internalFindByPrimaryKey(AbstractBusinessObject.java:900) > at >com.apex.chronos.app.AbstractBusinessObject.internalFindByPrimaryKey(AbstractBusinessObject.java:880) > at >com.apex.chronos.app.project.BasicProject.findByPrimaryKey(BasicProject.java:216) > at >com.apex.chronos.ui.integration.ExportTimeSheetAction.constructExportableTimeSheet(ExportTimeSheetAction.java:281) > at >com.apex.chronos.ui.integration.ExportTimeSheetAction.exportToQBOE(ExportTimeSheetAction.java:158) > at >com.apex.chronos.ui.integration.ExportTimeSheetAction.doPerform(ExportTimeSheetAction.java:78) > at com.apex.chronos.ui.AbstractAction.execute(AbstractAction.java:161) > > > >----------------------------------------------------------- >If you wish to unsubscribe from this mailing, send mail to >[EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev