[
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.