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 <razumovsky.andre..mail.com>
> 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 <juerge..saar.org>
>
> > 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-
> >
>
This archive was generated by hypermail 2.0.0 : Wed Jul 29 2009 - 09:25:52 EDT