I am currently getting a strange exception when trying to commit some
objects to the db.  I'm hoping someone here can help me figure it out.

org.apache.cayenne.CayenneRuntimeException: [v.3.0-SNAPSHOT May 16
2008 12:28:23] Can't extract a master key. Missing key (id), master ID
(<ObjectId:MyDataObject, TEMP:001A1A0065510101>)
        at 
org.apache.cayenne.access.DataDomainSyncBucket$PropagatedValueFactory.create(DataDomainSyncBucket.java:303)
        at org.apache.cayenne.query.BatchQuery.getValue(BatchQuery.java:171)
        at 
org.apache.cayenne.query.InsertBatchQuery.getValue(InsertBatchQuery.java:62)
        at 
org.apache.cayenne.access.trans.InsertBatchQueryBuilder.getParameterValues(InsertBatchQueryBuilder.java:83)
        at 
org.apache.cayenne.access.jdbc.BatchAction.runAsBatch(BatchAction.java:121)
        at 
org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java:80)
        at 
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:58)
        at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:230)
        at 
org.apache.cayenne.access.DataDomainFlushAction.runQueries(DataDomainFlushAction.java:227)
        at 
org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:145)
        at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:821)
        at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:788)
        at 
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847)
        at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:785)
        at 
org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1164)
        at 
org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1066)

Any idea what this means?  I'm using some 1:1 mappings on the PK of
this table, and also some cayenne inheritance, so it's possible I set
something up wrong.

-Dave

Reply via email to