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] > >
