Hello all,
Is there a known problem when using "QueryUtils.selectRelationshipObjects" 
in combination with "addPrefetch"?
Because i have a function which uses those 2 functions:
=============
public List findAllWithExp(GalleryCategory cat) {
    SelectQuery query = QueryUtils.selectRelationshipObjects(_context, cat, 
"galleries");
    query.addPrefetch("projecten");
    return _context.performQuery(query);
  }
=============
GalleryCategory (variable cat) has zero or more Gallery objects 
(many-to-many relationship). Those Gallery objects can be reached by the 
"galleries" relationship of GalleryCategory:
=============
SelectQuery query = QueryUtils.selectRelationshipObjects(_context, cat, 
"galleries");
=============
The above code return all Gallery objects of "cat" (a GalleryCategory). 
This works perfect.
But when i add a prefetch to my selectquery i receive a classcastexception:
=============
java.lang.ClassCastException
        at 
org.objectstyle.cayenne.access.util.SelectObserver.partitionBySource(SelectObserver.java:253)
        at 
org.objectstyle.cayenne.access.util.SelectObserver$PrefetchTreeNode.resolveObjectTree(SelectObserver.java:432)
        at 
org.objectstyle.cayenne.access.util.SelectObserver$PrefetchTreeNode.resolveObjectTree(SelectObserver.java:398)
        at 
org.objectstyle.cayenne.access.util.SelectObserver.getResultsAsObjects(SelectObserver.java:201)
        at 
org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1624)
        at 
org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1485)
        at freesite.dao.DAOGalleryImpl.findAllWithExp(DAOGalleryImpl.java:55)
        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:324)
        at spin.Invocation.evaluate(Invocation.java:122)
        at spin.off.OffInvocation.access$000(OffInvocation.java:30)
        at spin.off.OffInvocation$1.run(OffInvocation.java:70)
        at java.lang.Thread.run(Thread.java:536)
=============
What i mean to do with the prefetch is to prefetch the "projecten" 
relationship of Gallery. Because Gallery has a relationship with zero or 
more Projects (many-to-many relationship). The name of this relationship is 
"projecten".
=============
query.addPrefetch("projecten");
=============
Best regards,
Twan Kogels
This archive was generated by hypermail 2.0.0 : Tue Nov 23 2004 - 16:01:50 EST