(Reminder: Avoid meaningful keys when you have the choice, like anytime you are designing the database from scratch.
Who wants to write the wikipedia article on the meaningful pointer problem...?)
Eric
+1 (917) 589-6579
--- On Thu, 7/30/09, Michael Gentry <mgentr..asslight.net> wrote:
> From: Michael Gentry <mgentr..asslight.net>
> Subject: Re: The right way to populate meaningful keys
> To: use..ayenne.apache.org
> Date: Thursday, July 30, 2009, 11:01 AM
> Hi Juergen,
>
> I suspect that you need to assign the key on the other side
> of your
> 1:1 relationship, too. Another thing you could try
> doing is using the
> To Dep PK checkbox in the DbEntity Relationship panel to
> see if
> Cayenne will auto-copy your meaningful PK for you.
>
> http://cayenne.apache.org/doc/to-dep-pk-checkbox.html
>
> I'm not sure if the To Dep PK will work that way, but it is
> worth a
> try. If you assign all the keys, though, it should
> work.
>
>
> On Thu, Jul 30, 2009 at 10:53 AM, Juergen Saar<juerge..saar.org>
> wrote:
> > This was my way ...
> > But I ran in deep trouble with the ObjectId ... this
> seems not to be
> > sycronized
> >
> > My actual CayenneRuntimeException:
> > Can't extract a master key. Missing key (esd_abteil),
> master ID
> > (<ObjectId:EsSend, TEMP:0000021E6A770001>)
> >
> > It belongs to a 1:1 Relation and the PK-Values in
> source and target are
> > correctly set.
> > The Commit is interrupted and the Relation-Data are
> not inserted to DB.
> >
> >
> > In nearly all cases ... even when all data is inserted
> in DB the following
> > CayenneRuntimException is thrown:
> > Temporary ID hasn't been replaced on
> commit:{<ObjectId:EsSend,
> > TEMP:0000022273C50001>; new; ...}
> >
> > Any idea?
> > -Juergen-
> >
> > PS: I'm using the Version 2.0.4
> >
> >
> > 2009/7/30 Michael Gentry <mgentr..asslight.net>
> >
> >> Cayenne, by default, doesn't map keys from the
> DbEntity (database
> >> definition) to the ObjEntity (Java definition),
> but you can go into
> >> the ObjEntity and add them and it should be fine.
> After you do that,
> >> just call the set/get methods for the keys to
> set/get them. If you
> >> set a key on a new object before you
> commitChanges(), Cayenne will use
> >> your key instead of trying to generate one.
> >>
> >> mrg
> >>
> >>
> >> On Thu, Jul 30, 2009 at 1:24 AM, Juergen
> Saar<juerge..saar.org>
> wrote:
> >> > Hi all,
> >> >
> >> > I'm using cayenne within an old 4GL-Project
> with meaningful Primary Keys.
> >> >
> >> > Is there a 'best practice' to get this keys
> into the DataObject-Instance?
> >> >
> >> > Actually I've various trouble with this ...
> >> >
> >> >
> >> > Any hint or code-sniplet would be helpful
> ...
> >> > -Juergen-
> >> >
> >>
> >
>
This archive was generated by hypermail 2.0.0 : Thu Jul 30 2009 - 12:03:40 EDT