[ 
https://issues.apache.org/jira/browse/OPENJPA-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533175
 ] 

Craig Russell commented on OPENJPA-396:
---------------------------------------

> As far as I can tell, the setOwner has no other side effects.

I hope someone else can comment on this, as it doesn't seem right. You don't 
want to <allow> any code in the clone to access the StateManager, since the 
StateManager knows about the original and can't tell from the APIs which proxy 
is calling it.

I think we're asking for trouble, either now or in future if we call this 
method from the clone.

> Cloning Calendar proxies doesn't detach from StateManager
> ---------------------------------------------------------
>
>                 Key: OPENJPA-396
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-396
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.0.0, 1.0.1, 1.1.0
>            Reporter: Kevin Sutter
>            Assignee: Kevin Sutter
>             Fix For: 1.0.1, 1.1.0
>
>         Attachments: OPENJPA-396.patch
>
>
> This problem was first discussed on our dev mailing list:  
> http://www.nabble.com/Cloning-Calendar-proxies-tf4571181.html
> Per the discussion on that thread, I am proposing to modify the generated 
> proxy code to override the clone() method.  This clone() method will do the 
> necessary copying of data from the original object, but then also null out 
> the sm (StateManager) and zero out the field attributes.  This action 
> detaches the cloned object from the StateManager (and associated 
> EntityManager).
> Instead of limiting this action to the Calendar proxy, I am adding the 
> clone() method implementation to all of our proxy objects that we generate.  
> Granted, some of the object types do not directly support the clone() method, 
> but that will be detected when or if anybody attempts to use the clone() 
> method on these types (compiler generated error message).
> I'll be posting a patch shortly and I plan to commit the changes later today 
> (unless there is opposition).
> Thanks,
> Kevin

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to