[
https://issues.apache.org/jira/browse/OPENJPA-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maxim Solodovnik resolved OPENJPA-3025.
---------------------------------------
Fix Version/s: 4.2.0
Resolution: Fixed
> orphan-removal in an XML mapping is lost when the relation also cascades
> remove
> -------------------------------------------------------------------------------
>
> Key: OPENJPA-3025
> URL: https://issues.apache.org/jira/browse/OPENJPA-3025
> Project: OpenJPA
> Issue Type: Bug
> Reporter: Richard Zowalla
> Assignee: Richard Zowalla
> Priority: Major
> Fix For: 4.2.0
>
>
> With an XML mapping, an element removed from a collection mapped with
> {{orphan-removal="true"}} and a cascade that includes remove
> ({{<cascade-remove/>}} or {{<cascade-all/>}}) is not deleted. Same bug as
> OPENJPA-3024 for annotations, but older.
> Cause: {{XMLPersistenceMetaDataParser}} applies {{orphan-removal}} when the
> element starts ({{setOrphanRemoval()}} sets {{CASCADE_AUTO}}) and the
> cascades in {{finishField()}}, so {{setCascades()}} replaces it with
> {{CASCADE_IMMEDIATE}}.
> Fix: apply orphan removal after the cascades, as OPENJPA-3024 does for the
> annotation parser.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)