Hi John,

you have to declare all PK fields in the collection/reference-descriptor inverse-foreignkey/foreignkey tags.

McCaffrey, John G. wrote:
I am trying to join two tables A and B
table A has three primary keys
Main_ID
Node_ID
Process_Date

table B has two primary keys
Node_ID
Process_Date

my mapping has the Table A object containing a collection of B obj

ok, you have an 1:n reference from A to B, thus your collection-descriptor should look like


<class-descriptor for A>
...
<collection-descriptor
name="allBs"
element-class-ref="B"
proxy="false"
auto-retrieve="true" >
  <inverse-foreignkey field-ref="FK_node_ID"/>
  <inverse-foreignkey field-ref="FK_main_ID"/>
  <inverse-foreignkey field-ref="FK_process_date"/>
</collection-descriptor>
...
</class-descriptor>

Means your B class needs three FK fields (to map the PK of A).

regards,
Armin

I want to join the collection using the Node_ID, because it is the only
thing they can be joined on

when I do the mapping

<collection-descriptor name="aObj" element-class-ref="x.x.x.AObj"
proxy="false" auto-retrieve="true" > <inverse-foreignkey field-ref="node_ID"/>
</collection-descriptor>


it complains about an arrayIndexOutOfBounds but it works when the only primary key is Node_ID

i don't get it


--------------------------------------------------------------------- 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]



Reply via email to