[ http://issues.apache.org/jira/browse/OJB-64?page=comments#action_12356236 ]
Jakob Braeuchi commented on OJB-64: ----------------------------------- testcase generates this sql: SELECT A0.OBJ_ID,A0.NAME FROM INHERITANCE_CONSORTIUM A0 INNER JOIN INHERITANCE_SHAREHOLDER A1 ON A0.OBJ_ID=A1.FK_CONSORTIUM INNER JOIN INHERITANCE_MANAGER A2 ON A1.OBJ_ID=A2.OBJ_ID AND A1.OBJ_ID_2=A2.OBJ_ID_2 INNER JOIN INHERITANCE_EXECUTIVE A3 ON A2.OBJ_ID=A3.OBJ_ID AND A2.OBJ_ID_2=A3.OBJ_ID_2 INNER JOIN INHERITANCE_EMPLOYEE A4 ON A3.OBJ_ID=A4.OBJ_ID AND A3.OBJ_ID_2=A4.OBJ_ID_2 WHERE ((A0.NAME = ?) AND A1.SHARE_ = ?) AND A4.NAME = ? SqlException : Column not found: FK_CONSORTIUM in the correct sql the joins for MANGER / SHAREHOLDER are flipped :! SELECT A0.OBJ_ID,A0.NAME FROM INHERITANCE_CONSORTIUM A0 INNER JOIN INHERITANCE_MANAGER A1 ON A0.OBJ_ID=A1.FK_CONSORTIUM INNER JOIN INHERITANCE_SHAREHOLDER A2 ON A1.OBJ_ID=A2.OBJ_ID AND A1.OBJ_ID_2=A2.OBJ_ID_2 INNER JOIN INHERITANCE_EXECUTIVE A3 ON A2.OBJ_ID=A3.OBJ_ID AND A2.OBJ_ID_2=A3.OBJ_ID_2 INNER JOIN INHERITANCE_EMPLOYEE A4 ON A3.OBJ_ID=A4.OBJ_ID AND A3.OBJ_ID_2=A4.OBJ_ID_2 WHERE ((A0.NAME = ?) AND A2.SHARE_ = ?) AND A4.NAME = ? > Correct handling of 1:n references, when the FK-field is declared in the > super-classes instead of the referenced class > ---------------------------------------------------------------------------------------------------------------------- > > Key: OJB-64 > URL: http://issues.apache.org/jira/browse/OJB-64 > Project: OJB > Type: Bug > Components: JDO-API, ODMG-API, OTM-API, PB-API > Versions: 1.0.3 > Reporter: Armin Waibel > > Problem is the correct handling of 1:n references, when the FK-field is > declared in the super-classes. > Example: > Employee<--Manager<--Shareholder > Class 'Consortium' has a 1:n to Shareholder but the FK to Consortium is > declared in Manager, > Consortium reference look like > <collection-descriptor > name="shareholders" > > element-class-ref="org.apache.ojb.broker.InheritanceMultipleTableTest$Shareholder" > proxy="false" > auto-retrieve="true" > auto-update="object" > auto-delete="object" > > > <inverse-foreignkey field-ref="consortiumKey"/> > </collection-descriptor> > But the 'consortiumKey' is declared in Manager (e.g. because we want to > introduce a second 1:n containing all Manager). > More detail see InheritanceMultipleTableTest#testInheritedReferences() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
