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

Reply via email to