cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <mgen...@masslight.net>
Subject Re: Can't extract a master key exception
Date Fri, 14 Oct 2011 13:49:38 GMT
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 <senecal@apple.com> 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]
>
>

Mime
View raw message