I'm having some trouble with Oracle, Criteria and table joins.  My code works fine 
against mysql, but when I try to use Oracle I get an exception.  This is using the 
newly released Torque 3.0 against Oracle 9 using the classes12.zip thin driver.  

In my code, I create a criteria:

CRITERIA.addSelectColumn(RegistrationPeer.REGISTRATIONID);
CRITERIA.addSelectColumn(AuthMapPeer.PARTNUMBER);
CRITERIA.addJoin(RegistrationPeer.AUTHCODE, AuthMapPeer.AUTHCODE);

Then I use the BasePeer to retrieve results and loop over them:

List resultList = BasePeer.doSelect(CRITERIA);

for (int i=0; i<resultList.size(); i++) {
   Record row = (Record) resultList.get(i);
   row.getValue(RegistrationPeer.REGISTRATIONID)
}

This code throw an exception:

com.workingdogs.village.DataSetException: Column name: REGISTRATIONID does not exist!

The value of RegistrationPeer.REGISTRATIONID is "Registration.REGISTRATIONID".  
Looking at the schema from
row.schema(), I see that the column name is "REGISTRATIONID" (no tablename appended).

I'm guessing that either I need to configure Oracle somehow or use the criteria/join 
differently.  That, or the com.workingdogs.village stuff has a bug.

Anyone have any suggestions/ideas?

Thanks,

Stephen


Reply via email to