This one time, at band camp, Brett Cherrington said:
Brett,
Please see my comments inline.
BC><class name="myObject" identity="id">
BC>
BC><description></description>
BC>
BC><map-to table="dev.object" />
BC>
BC>
BC><field name="a" type="string" >
BC>
BC><sql name="a" type="varchar"/>
BC>
BC></field>
BC>
BC>
BC><field name="b" type="string" >
BC>
BC><sql name="b" type="varchar"/>
BC>
BC></field>
BC>
BC>
BC><field name="c" type="cObject" collection="collection" lazy="true" required="false">
BC>
BC><sql many-key="mid"/>
BC>
BC></field>
...
BC></class>
BC>
BC>I am then using the following OQL to query for the objects
BC>
BC>CALL SQL SELECT id, a, b FROM dev.object AS myObject
The CALL SQL requires that the select statement list fields in the order
in which they appear in the mapping descriptor. The mapping descriptor
posted above does not include the id field other than noting that it is
the identity. There is no separate <field> element.
BC>I expected this to return me the objects but without the cObjects (as I havn't done
the INNER JOIN)...??? Is this correct...?
This should be what is returned.
BC>However, first of all I get a NullPointerException in createCall in SQLEngine
because I havn't provided a sql name attribute for the many object in my myObject
class....I have done a quick fix for this but it leads to another problem.....In
SQLTypes it appears to still try and populate the many fields in getObject() so fails
with a SQLException: Invalid column index....
This seems odd. Are you relations bi-directional? Can you post the full stack trace?
Bruce
--
perl -e 'print unpack("u30","<0G)U8V4\@4VYY9&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev