openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-1933) @ElementCollection loose proxytype after serialisation
Date Wed, 23 Feb 2011 04:01:38 GMT

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

Michael Dick commented on OPENJPA-1933:
---------------------------------------

Here's where my story falls apart : org.apache.openjpa.util.Proxies:156 
            if (useDSFForUnproxy) {
                // use new 2.0 behavior
                if ((meta != null) && (Boolean.TRUE.equals(meta.usesDetachedState())))
{  
                    // configured to always use and serialize a StateManger, so keep any $proxy
                    return proxy;
                } else {
                    // already detached or using DetachedStateField==false or transient, so
remove any $proxy
                    return proxy.copy(proxy);
                }
            }

With a 2.0 persistence.xml we will check the meta.usesDetachedState() in addition to the DSM
and IgnoreDetachedTooLongToTypeCompatibilityOption. I have not fully unraveled that method
- there's some room for improvement in this path. 

Sorry you had to hit this particular tangle. 

> @ElementCollection loose proxytype after serialisation
> ------------------------------------------------------
>
>                 Key: OPENJPA-1933
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1933
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 2.0.0, 2.0.1
>            Reporter: Mark Struberg
>            Priority: Critical
>             Fix For: 2.2.0
>
>         Attachments: OPENJPA-1933-test-2.patch, OPENJPA-1933-test.patch, openjpa-reg-tests.tar.gz
>
>
> usually an @ElementCollection field loaded from the database will be created as a org.apache.openjpa.java$.util$.ArrayListProxy.
> After serialisation/deserialisation (with DetachedStateField=true) the List will be recreated
as standard java.util.ArrayList.
> This has the bad side effect, that any subsequent add to this ElementCollection will
not set the _dirty field in the DetachedStateManager and any changes in the ElementCollection
will not get saved to the database.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message