Hi Greg,

assume you are using SequenceManagerNativeImpl
(or SequenceManagerMySQLImpl). The '-1' value
is a temporary used id. Normally OJB creating
and handling id's before an object was written
to DB. When using identity columns the id can
only be read after the object was stored to DB.

hmm, do you use batch-mode 'true'?

regards,
Armin

Plummer, Greg wrote:

Hi All,

I have a superclass, PayrollDeductionPlan, that contains a collection of
PayPlanAssociation objects. The foreign key in the PayPlanAssociation
table that points back to the PayrollDeductionPlan table is not getting
stored correctly. See the snapshots of the tables below, don't know
where the -1 is coming from.

I have the following (stripped-down) classes, repository.xml entries and
tables. Any help would be greatly appreciated! Thanks in advance.

Greg Plummer



public class PayrollDeductionPlan {

        private List payPlanAssociations = new ArrayList();
        private int planId;
}

public class ClientPayrollDeductionPlan extends PayrollDeductionPlan {

        private int id;
}

public class PayPlanAssociation {
        
        private ClientGroup clientGroup = null;
        private String payCode = null;
        private PayrollDeductionPlan payrollDeductionPlan = null;
}



<class-descriptor
class="com.lmig.pm.affinity.model.billing.PayrollDeductionPlan"
table="DEXA100T">
<field-descriptor
name="planId"
column="PLAN_ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
access="readonly"
/>
<collection-descriptor
name="payPlanAssociations"
element-class-ref="com.lmig.pm.affinity.model.billing.PayPlanAssociation
"
auto-read="true"
auto-update="true"
auto-delete="true">
<inverse-foreignkey field-ref="planId" />
</collection-descriptor>
</class-descriptor>


<class-descriptor
class="com.lmig.pm.affinity.model.billing.ClientPayrollDeductionPlan"
table="DEXA070T">
<field-descriptor
name="id"
column="PAYROLL_ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
access="readonly"
/>
<field-descriptor
name="planId"
column="PLAN_ID"
jdbc-type="INTEGER"
access="anonymous"
/>
<reference-descriptor name="super" class-ref="com.lmig.pm.affinity.model.billing.PayrollDeductionPlan"
auto-update="true"
auto-delete="true">
<foreignkey field-ref="planId"/>
</reference-descriptor> </class-descriptor>


<class-descriptor
class="com.lmig.pm.affinity.model.billing.PayPlanAssociation"
table="DEXA210T">
<field-descriptor
name="clientGroupId"
column="CLIENT_GROUP_ID"
primarykey="true"
jdbc-type="INTEGER"
access="anonymous"
/>
<reference-descriptor
name="clientGroup"
class-ref="com.lmig.pm.affinity.model.client.ClientGroup">
<foreignkey field-ref="clientGroupId"/>
</reference-descriptor>
<field-descriptor
name="payCode"
column="PAYCODE"
primarykey="true"
jdbc-type="CHAR"
/>
<field-descriptor
name="planId"
column="PLAN_ID"
jdbc-type="INTEGER"
access="anonymous"
/>
<reference-descriptor
name="payrollDeductionPlan"
class-ref="com.lmig.pm.affinity.model.billing.PayrollDeductionPlan">
<foreignkey field-ref="planId"/>
</reference-descriptor> </class-descriptor>



DEXA100T (PayrollDeductionPlan table): PLAN_ID NAME 70 Plan Name


DEXA070T (ClientPayrollDeductionPlan table): PAYROLL_ID PLAN_ID 26 70


DEXA210T (PayPlanAssociation table): CLIENT_GROUP_ID PLAN_ID PAYCODE 141 -1 AC





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to