please try adding the following method to CollectionDescriptor
public FieldDescriptor[] getForeignKeyFieldDescriptors(ClassDescriptor aCld) { if (isMtoNRelation()) { // BRJ: answer pkFields of referenced Class return aCld.getPkFields(); } else { return super.getForeignKeyFieldDescriptors(aCld); } }
jakob
Andy Malakov wrote:
As far as I can see from CVS, CollectionPrefetcher.buildPrefetchQuery(...) only checks among 1:N references:
protected Query buildPrefetchQuery(Collection ids) { CollectionDescriptor cds = getCollectionDescriptor(); QueryByCriteria query = buildPrefetchQuery(ids, cds.getForeignKeyFieldDescriptors(getItemClassDescriptor())); ...
where cds.getForeignKeyFieldDescriptors(getItemClassDescriptor()) will return empty array because class CollectionDescriptor does not override method getForeignKeyFieldDescriptors() implemented in base class ObjectReferenceDescriptor (which only knows about 'decomposed' FKs).
All the Best, Andy
----- Original Message ----- From: "Andy Malakov" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Tuesday, December 02, 2003 12:06 PM
Subject: Query prefetching non-decomposed M:N relationships is unimplemented?
Hello All,
Can you please confirm that association prefetching mechanism in OJB queries currently (CVS) does not support M:N associations?
Thank you, Andy
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]