Ahhh...  In my conversation with this OpenJPA customer, he had mentioned a
"delete orphan" feature.  Now I know where the reference came from.  Thanks.

Kevin

On 3/7/07, Craig L Russell <[EMAIL PROTECTED]> wrote:

For the Hibernate-erati in the audience, this feature (JDO calls it
"dependent" and JPA doesn't have it) is called cascade="all-delete-
orphan".

Craig

On Mar 7, 2007, at 6:28 PM, Kevin Sutter wrote:

> Thanks, Abe.  This explanation helps a great deal.  Should we
> update the
> documentation with some of this information?
>
> Kevin
>
> On 3/7/07, Abe White <[EMAIL PROTECTED]> wrote:
>>
>> First, dependent should be compared to cascade=REMOVE rather than (or
>> in addition to) cascade=ALL.
>>
>> cascade=REMOVE means "when I remove this parent instance immediately
>> cascade the remove operation to the referenced instance(s)".  It's a
>> very simple and naïve implementation and its behavior is mandated by
>> the JPA spec.
>>
>> Dependent means "at the end of the transaction if the referenced
>> instance(s) are no longer referenced by this parent and have not been
>> assigned to any other parent, remove it/them".  It's much smarter /
>> more subtle.  For example if you null a dependent relation but don't
>> delete the parent, the referenced instance(s) will still be deleted
>> at the end of the transaction, because they are no longer referenced
>> by the parent (unless of course you assign them to some other parent
>> in the same transaction).
>>
>> p.s. Note that dependent != db garbage collection.  A dependent
>> instance that is severed from its parent is deleted at the end of the
>> transaction unless assigned to another instance in the same
>> transaction -- we don't search the db to find out if any other parent
>> not involved in the transaction references the dependent instance
>> before deleting
>> it.__________________________________________________________________
>> _____
>> Notice:  This email message, together with any attachments, may
>> contain
>> information  of  BEA Systems,  Inc.,  its subsidiaries  and
>> affiliated
>> entities,  that may be confidential,  proprietary,  copyrighted
>> and/or
>> legally privileged, and is intended solely for the use of the
>> individual
>> or entity named in this message. If you are not the intended
>> recipient,
>> and have received this message in error, please immediately return
>> this
>> by email and then delete it.
>>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!



Reply via email to