It is a very old Project (started 1987) and cayenne is running on top of it.
All newer Data-Organization is done with technical PK,
but to change this old Data-Organization too much changes
in the old 4GL-Software have to be done.
And you know: Never change a ...
2009/7/30 Eric Lazarus <ericllazaru..ahoo.com>
>
> (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:11:33 EDT