On 7/13/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
>
> On Jul 13, 2006, at 12:32 PM, Øyvind Harboe wrote:
>
> > On 7/12/06, Gentry, Michael (Contractor)
> > <michael_gentr..anniemae.com> wrote:
> >> You could override setPersistenceState() in your Treatment class:
> >>
> >> public void setPersistenceState(int state)
> >> {
> >> super.setPersistenceState(state);
> >>
> >> // If object was just created, set PK
> >> if (state == PersistenceState.NEW)
> >> setId(UUID.randomUUID());
> >> }
> >
> > Hmmm... I tried that, but setPersistanceState() is invoked multilple
> > times with state=NEW and thus I'm changing the UUID each time. That
> > can't be right.
>
> No it can't - it should only be invoked once per object.
Note that my object is in a child context when I perform a commit.
-- Øyvind Harboe http://www.zylin.com
This archive was generated by hypermail 2.0.0 : Thu Jul 13 2006 - 12:45:12 EDT