[ 
https://issues.apache.org/jira/browse/OPENJPA-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Curtis updated OPENJPA-1704:
---------------------------------

    Summary: PCEnhancer incorrectly generates readExternal   (was: PCEnhancer 
incorrectly generates writes readExternal )

> PCEnhancer incorrectly generates readExternal 
> ----------------------------------------------
>
>                 Key: OPENJPA-1704
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1704
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.2.2, 2.0.0, 2.1.0
>            Reporter: Rick Curtis
>            Assignee: Rick Curtis
>             Fix For: 2.1.0
>
>
> OPENJPA-1400 introduced a bug that can be encountered when reading a streamed 
> object under the following circumstances:
> - Using a serializable DetachedStateManager  (<property 
> name="openjpa.DetachState" value="fetch-groups(DetachedStateField=true)"/>) 
> - The Entity needs to have a version field AND either:
>   - If no inheritance, a 'proxyable' (ie: java.sql.Date, java.util.List) 
> field with a name that is lexicographically after the version field.
>   - If using inheritance, a 'proxyable' (ie: java.sql.Date, java.util.List) 
> field in a child class.
> The bug could manifest itself in a number of ways. Below is the one I was 
> able to reproduce.
> java.lang.IllegalArgumentException
>       at 
> org.apache.openjpa.persistence.inheritance.serializable.A.pcProvideField(A.java)
>       at 
> org.apache.openjpa.kernel.DetachedStateManager.proxyDetachedDeserialized(DetachedStateManager.java:438)
>       at 
> org.apache.openjpa.persistence.inheritance.serializable.A.readExternal(A.java)
>       at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>       at 
> org.apache.openjpa.persistence.inheritance.serializable.TestSerialization.serializeObject(TestSerialization.java:105)
>       at 
> org.apache.openjpa.persistence.inheritance.serializable.TestSerialization.testRoundTrip(TestSerialization.java:48)
>       ...

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