If you use the same primary key columns for the tables, no further description is necessary. However, if the key column names are different, the relationships between the tables have to be defined in the JDO file at the extending class using the extension multi-table-key .
The following sample shows the multi table key for the Customer. The column TCUSTOMER.FNEWID is linked here with column TPERSON.FID.
<?xml version="1.0" encoding="UTF-8"?>
<jdo xmlns="http://java.sun.com/xml/ns/jdo/jdo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdo http://java.sun.com/xml/ns/jdo/jdo_2_0.xsd">
<package name="com.test">
<class name="Customer"
persistence-capable-superclass="com.signsoft.ibo.sample.Person">
<extension vendor-name="ssibo" key="jdbc">
<extension vendor-name="ssibo" key="table-name" value="TCUSTOMER" />
<extension vendor-name="ssibo" key="multi-table-key">
<extension vendor-name="ssibo" key="src-table" value="TPERSON" />
<extension vendor-name="ssibo" key="src-field" value="FID" />
<extension vendor-name="ssibo" key="dst-table" value="TCUSTOMER" />
<extension vendor-name="ssibo" key="dst-field" value="FNEWID" />
</extension>
</extension>
<field name="creditLimit"><field-mapping table="TCUSTOMER" field="FCREDIT" />
</class>
</package>
</jdo>