Hi Joseph,

The last time I saw an error like this was when we had a messed up
model (the mappings were incorrect).

mrg


On Wed, Oct 12, 2011 at 7:01 PM, Joseph Senecal <[email protected]> wrote:
> I'm getting a strange exception when adding a detail record in the same 
> commit as the master record.
>
> Both the master and detail records are defined in Oracle as having a primary 
> key consisting of the surrogate key plus “SUBMITDATE”. The Cayenne map shows 
> the primary key is just the surrogate keys.
>
> The join between the two tables consist of the master tables surrogate key 
> plus the partition key (“SUBMITDATE”).
>
> The submitDate field is set to the same value on both the master and detail 
> records before committing.
>
> The log shows that the surrogate keys for both tables are generated from 
> sequences.
>
> So why is Cayenne telling me that “SUBMITDATE” is a missing master key? Does 
> anyone have any advice?
>
> I tried changing the join to be just the master table primary key, but that 
> didn't change the exception below.
>
> Joe
>
> --- transaction started.
> SELECT PAYLOAD_SEQ.nextval FROM DUAL
> SELECT PAYLOADERRDETAIL_SEQ.nextval FROM DUAL
> INSERT INTO Payload (BATCHID, COMMANDNAME, COMMODITYTYPE, COMPRESSEDFLAG, 
> CREATIONDATE, DATAPAYLOAD, FLATFILEFLAG, HOST, LINENAME, PAYLOADID, 
> PROJECTCODE, REPROCESSID, SERIALNUMBER, SITE, STATUS, SUBMITDATE, UUID) 
> VALUES (?, ?, ?, ?, ?, EMPTY_BLOB(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> [bind: 1:'JABL test data', 2:'SendModuleData', 3:'2', 4:NULL, 5:'2011-10-12 
> 15:43:39.171', 6:'true', 7:'12.345.67.890', 8:NULL, 9:6, 10:'N20', 
> 11:'2b99adcf-8244-40f3-b42a-669384...', 12:'SAAG4300DCMNxx', 13:'FXGL', 
> 14:'ERROR', 15:'2011-07-01 14:05:32.0', 
> 16:'9333fc51-3b08-4d06-8f8d-11e137...']
> === updated 1 row.
> SELECT DATAPAYLOAD FROM Payload WHERE PAYLOADID = ? FOR UPDATE [bind: 1:6]
> [write LOB: 1:< 
> 3C,3F,78,6D,6C,20,76,65,72,73,69,6F,6E,3D,22,31,2E,30,22,20,65,6E,63,6F,64,69,6E,67,3D,22...>]
> INSERT INTO PayloadErrDetail (CORRECTEDVALUE, ERRORCODE, FIELDNAME, 
> FIELDVALUE, PAYLOADERRDETAILID, PAYLOADID, SUBMITDATE) VALUES (?, ?, ?, ?, ?, 
> ?, ?)
> *** error.
> org.apache.cayenne.CayenneRuntimeException: [v.3.1M3 Sep 12 2011 19:59:45] 
> Can't extract a master key. Missing key (SUBMITDATE), master ID 
> (<ObjectId:Payload, TEMP:0000004E2A21AEB9>)
>        at 
> org.apache.cayenne.access.DataDomainSyncBucket$PropagatedValueFactory.create(DataDomainSyncBucket.java:311)
>  ~[cayenne-server-3.1M3.jar:na]
>
>

Reply via email to