db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Bengtson <e...@jpox.org>
Subject Re: makePersistent detached instance deleted on database
Date Thu, 09 Mar 2006 16:40:50 GMT
JPOXers,

Please note that the current JPOX behaviour will change to align with JDO 2
spec.

Please track a discussion on vendor extension here
http://www.jpox.org/servlet/jira/browse/CORE-2741

Regards,

Quoting Craig L Russell <Craig.Russell@Sun.COM>:

> Hi Jörg,
>
> On Mar 9, 2006, at 1:43 AM, Jörg von Frantzius wrote:
>
> > Craig L Russell schrieb:
> >>> Also I find it confusing that the method most prominently used
> >>> for inserting new objects shouldn't do so for detached instances.
> >>
> >> There is a bunch of history that you should look at, most of which
> >> is in the jdo-dev archives. Bottom line, we used to have a
> >> different API, attachCopy, but we looked at what it had to do for
> >> transient and detached instances and decided that it wasn't worth
> >> making a different API for attaching detached instances.
> > That particular behaviour of attachCopy() wasn't really specified,
> > but it was pleasant JPOX-specific behaviour, if I remember
> > correctly. I saw the discussion and I didn't see where inserting
> > the instances would be forbidden by the spec, and still I don't see
> > where it says that, especially in the light of 12.6.7. Please
> > excuse my ignorance, where does it say that?
>
> <spec>
> These methods make transient instances persistent and apply detached
> instance changes
> to the cache.
> ...
> For a detached instance, they locate or create a persistent
> instance with the same JDO identity as the detached instance, and
> merge the persistent
> state of the detached instance into the persistent instance. Only the
> state of persistent fields
> is merged.
> </spec>
>
> This means that if there is already a persistent instance in the
> cache with the same object id as the detached instance, the detached
> state will be merged. If there is not a persistent instance in the
> cache, a cache instance is created and the detached state is merged
> with the persistent instance.
>
> But there is no creation aspect of makePersistent on a detached
> instance.
>
> Craig
>
> >>
> >> Regards,
> >>
> >> Craig
> >>
> >>>>
> >>>> Craig
> >>>>
> >>>> On Mar 8, 2006, at 7:14 AM, Erik Bengtson wrote:
> >>>>
> >>>>>
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> What happens when we invoke makePersistent on a detached
> >>>>> instance that was
> >>>>> deleted by another isolated process? I suspect that we raise an
> >>>>> exception
> >>>>> instead of reinserting it for a second time. Is that right?
> >>>>>
> >>>>> Maybe this can be clarified in the spec.
> >>>>>
> >>>>> Regards,
> >>>>
> >>>> Craig Russell
> >>>> Architect, Sun Java Enterprise System http://java.sun.com/
> >>>> products/jdo
> >>>> 408 276-5638 mailto:Craig.Russell@sun.com
> >>>> P.S. A good JDO? O, Gasp!
> >>>>
> >>>
> >>>
> >>
> >> Craig Russell
> >> Architect, Sun Java Enterprise System http://java.sun.com/products/
> >> jdo
> >> 408 276-5638 mailto:Craig.Russell@sun.com
> >> P.S. A good JDO? O, Gasp!
> >>
> >
>
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
>




Mime
View raw message