Hi,

> > So if we introduce a flag that uses the same instance on attach, we
> > might want to have the flag called CopyOnMakePersistent and have
> > true be the current specified behavior and false be the new
> > behavior we've been discussing.
>
> Sounds great to me.  There's some fine print here, though:  Just
> because CopyOnMakePersistent is set to true, that doesn't mean that
> makePersistent() will *always* return copies.  For example, current
> specified behavior says that when DetachAllOnCommit=false and calling
> makePersistent() with a transient parameter, the returned object will
> be the same instance, now transitioned to persistent-clean.  This
> behavior won't change because of our new option (regardless of
> whether it is set to true or false), and we don't want folks to be
> confused about that...

I prefer the name you suggested to the one I originally wrote. Comments :-

1. "DetachAllOnCommit" has no bearing on what makePersistent() does - it 
defines what happens on tx.commit() only. makePersistent will (currently) 
return the original object if persisting a transient and return a copy if 
attaching.

2. How about calling it CopyOnAttach ? makePersistent has two roles ... 
persisting new, and attaching detached. I don't ever see a need to add 
control to the operation of persisting a new object, so the 
name "CopyOnAttach" distinguishes to just the attach process.




-- 
Andy  (Java Persistent Objects - http://www.jpox.org)

Reply via email to