Sorry ... I'm working with 2.0.4 actually I stopped using setObjectId.
Now on Commit the following CayenneRuntimeException is thrown; Can't extract a master key. Missing key (esd_abteil), master ID (<ObjectId:EsSend, TEMP:000002770CF60001>) The relation for this is a 1:1 relation and the esd_abteil Property in the belonging root-Object (EsSend) has the correct value as I can see in the debug-logfile. I think the Problem is caused by the ObjectId ... 2009/7/29 Andrey Razumovsky <[email protected]> > Manually invoking setObjectId() in the middle of CDO lifecycle isn't a good > idea, because data object might have already been registered in context > with > another ObjectId. What CayenneRuntimeExeptions are you having and what is > your version of Cayenne? > > 2009/7/29 Juergen Saar <[email protected]> > > > Hi, > > > > I'm working on an 20 year old project with meaningful primary keys. > > > > Till now, we used cayenne only for reading but now we are working on the > > first 'real' Web-Components that handle Order-Data. > > > > So I have to create the primary key myself. > > > > In the Modeller I created ObjAttributes for the PK-Fields and use the > > setters to transfer the PK-Values to the Business-Object. > > > > In most cases this seems to work, only sometimes a CayenneRuntimeExeption > > tells me some Problems about temporary ObjectIds. The Data are stored > > pretty > > correct in the Database Tables. > > > > In some cases, especially on 1:1 Relations there are Problems with the > > Foreign Keys. > > > > So I try to setup my own ObjectId with the generated Values for the > primary > > Key and put this into the DataObject by setObjectId(). > > > > This brings the whole BusinessObject in trouble. > > > > Is there a correct way to solve this problem? > > -Juergen- > > >
