Hi

 

I’m having some problem when I attempt to store the database.

 

It’s throwing the stack trace following stack trace

 

com.fedex.cih.jp.JPShipmentImpl.setMDEDetails(JPShipmentImpl.java:424) 2003-07-0

9 02:03:00,843 ERROR [ExecuteThread: '8' for queue: 'default'] jp.JPShipmentImpl

 (JPShipmentImpl.java:424) - org.apache.ojb.broker.PersistenceBrokerException: C

ould not generate primary key values for given Identity

com.fedex.data.ShipmentCoreClearanceImpl{2057001}, exception was java.lang.Array

IndexOutOfBoundsException

java.lang.ArrayIndexOutOfBoundsException

        at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:263)

        at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:204)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.assertFkAssignment(PersistenceBrokerImpl.java:730)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.assignReferenceFKs(PersistenceBrokerImpl.java:2104)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1935)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1874)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:660)

        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:158)

        at com.fedex.cih.jp.JPShipmentImpl.setMDEDetails(JPShipmentImpl.java:370)

        at com.fedex.cih.ejb.ShipmentBean.setMDEDetails(ShipmentBean.java:159)

        at com.fedex.cih.ejb.ShipmentBean_6ssy2e_EOImpl.setMDEDetails(ShipmentBean_6ssy2e_EOImpl.java:202)

        at com.fedex.cih.ejb.ShipmentBean_6ssy2e_EOImpl_WLSkel.invoke(Unknown Source)

        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)

        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)

        at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)

        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)

        at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)

        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)

rethrown as org.apache.ojb.broker.PersistenceBrokerException: Could not generate

 primary key values for given Identity

com.fedex.data.ShipmentCoreClearanceImpl{2057001}, exception was java.lang.ArrayIndexOutOfBoundsException

        at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:275)

        at org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:204)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.assertFkAssignment(PersistenceBrokerImpl.java:730)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.assignReferenceFKs(PersistenceBrokerImpl.java:2104)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1935)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1874)

        at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:660)

        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:158)

        at com.fedex.cih.jp.JPShipmentImpl.setMDEDetails(JPShipmentImpl.java:370)

        at com.fedex.cih.ejb.ShipmentBean.setMDEDetails(ShipmentBean.java:159)

        at com.fedex.cih.ejb.ShipmentBean_6ssy2e_EOImpl.setMDEDetails(ShipmentBean_6ssy2e_EOImpl.java:202)

        at com.fedex.cih.ejb.ShipmentBean_6ssy2e_EOImpl_WLSkel.invoke(Unknown Source)

        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)

        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)

        at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)

        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)

        at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)

        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)

com.fedex.cih.jp.JPShipmentImpl.setMDEDetails(JPShipmentImpl.java:446) 2003-07-0

9 02:03:01,187 DEBUG [ExecuteThread: '8' for queue: 'default'] jp.JPShipmentImpl

 (JPShipmentImpl.java:446) - Closing broker in finally setMDEDetails() : TX

 

The problem happen when at the BrokerHelp

 

Where the class descriptor class is return 2 primary key

And the identity class return only contains one (which is correct since at the reference mapping I’m only setting only one)

<!--ShipmentCoreClearance class-->
<class-descriptor
    class = "com.fedex.data.ShipmentCoreClearanceImpl"
	proxy="dynamic"
    schema="ENT"
	table = "SHIPMENT_CORE_CLEARANCE">
    <field-descriptor id = "1"
		name = "shipmentOidNo"
		column = "SHIPMENT_OID_NBR"
		jdbc-type ="BIGINT"
		primarykey = "true"
    />
    <field-descriptor id = "2"
		name = "locationCode"
		column = "LOCATION_CD"
		jdbc-type ="VARCHAR"
		primarykey = "true"
    />

    .................
</class-descriptor>
<!--End ShipmentCoreClearance-->
<!--Shipment class-->
<class-descriptor
    class = "com.fedex.data.ShipmentImpl"
	proxy="dynamic"
    schema="ENT"
	table = "SHIPMENT">
    <field-descriptor id = "1"
		name = "shipmentOid"
		column = "SHIPMENT_OID_NBR"
		jdbc-type ="BIGINT"
		primarykey = "true"
    />
    <field-descriptor id = "2"
		name = "mawbNo"
		column = "MAWB_NBR"
		jdbc-type ="VARCHAR"
    />
    <field-descriptor id = "3"
		name = "destLocationCode"
		column = "DEST_LOCATION_CD"
		jdbc-type ="VARCHAR"
    />
    <field-descriptor id = "4"
		name = "oriLocationCode"
		column = "ORIGIN_LOCATION_CD"
		jdbc-type ="VARCHAR"
    />
    <field-descriptor id = "5"
		name = "awbNo"
		column = "AWB_NBR"
		jdbc-type ="VARCHAR"
    />
    <field-descriptor id = "6"
		name = "shipmentDate"
		column = "SHIPMENT_DT"
		jdbc-type ="DATE"
    />

    ...........
    <reference-descriptor
		name="shipmentCoreClearance"
		class-ref="com.fedex.data.ShipmentCoreClearanceImpl"
		<foreignkey field-ref="shipmentOid"/>
    </reference-descriptor>
</class-descriptor>
<!--End Shipment-->
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to