An object can only be deleted if it's already registered. a deleted
state is meaningless outside of a context, so you could never register
a deleted object.
On 9/7/05, Gili <cowwo..bs.darktech.org> wrote:
>
> Right, the source-code checks for getDataContext()==null. If the
> dataContext is already registered and set to the current data-context it
> exits as a no-op. The problem I see with this is that I don't think
> getDataContext()==null is the right condition. What happens if I invoke
> DataContext.registerNewObject() on a DELETED object? I'd expect it to
> change its persistence state to MODIFIED. The current behavior will
> return as a no-op operation, which seems wrong to me. What do you think?
>
> Gili
>
> Mike Kienenberger wrote:
> > I'm pretty sure the thread you're referring to dealt with a rare case
> > where a registered object might be added a second time by the new
> > "auto-registering" behavior that occurs when setting relationships
> > between a registered object and a non-registered object.
> >
> > registerNewObject probably already insures that the object is
> > registerable. (You can always look at the source code and verify
> > it).
> >
> > If you want to be really paranoid, just insure that
> > object.getDataContext() == null before registering an object. The
> > above condition is the easiest way to determine if an object is
> > registered already.
> >
> > On 9/7/05, Gili <cowwo..bs.darktech.org> wrote:
> >
> >>Hi,
> >>
> >> This is related to
> >>http://www.objectstyle.org/cayenne/lists/cayenne-devel/2005/07/0006.html
> >>
> >> Hibernate has session.save(), update() and saveOrUpdate(). I'm looking
> >>for the equivilent of the latter in Cayenne. This is simply a
> >>convienience method that registers an object with the context if it
> >>isn't already registered. I would use it after foo =
> >>foo.getCanonicalState() because this method might return a registered
> >>object or it might return foo which is not yet registered.
> >>
> >> In the mailing list, when Andrus said this is "fixed" in CVS, did he
> >>mean that DataContext.registerNewObject() already behaves like I mentioned?
> >>
> >>Thanks,
> >>Gili
> >>--
> >>http://www.desktopbeautifier.com/
> >>
> >
> >
>
> --
> http://www.desktopbeautifier.com/
>
This archive was generated by hypermail 2.0.0 : Wed Sep 07 2005 - 13:53:24 EDT