enhancer generates invalid code if fetch-groups is activated ------------------------------------------------------------
Key: OPENJPA-1912 URL: https://issues.apache.org/jira/browse/OPENJPA-1912 Project: OpenJPA Issue Type: Bug Components: Enhance Affects Versions: 2.0.1, 2.0.0, 2.1.0 Reporter: Mark Struberg Priority: Critical If openjpa.DetachState =fetch-groups is used, the enhancer will add a 'implements Externalizable' + writeExternal + readExternal. The problem is, that writeExternal and readExternal will also try to externalize the private members of any given superclass. Thus we get a runtime Exception that we are not allowed to access those fields. Example: @Entity public abstract class AbstractGroup { ... @Temporal(TemporalType.TIMESTAMP) @TrackChanges private Date applicationBegin; ... } and @Entity public class Group extends AbstractGroup { ... } will result in the following code (decompiled with jad): public void writeExternal(ObjectOutput objectoutput) throws IOException { pcWriteUnmanaged(objectoutput); if(pcStateManager != null) { if(pcStateManager.writeDetached(objectoutput)) return; } else { objectoutput.writeObject(pcGetDetachedState()); objectoutput.writeObject(null); } objectoutput.writeObject(applicationBegin); objectoutput.writeObject(applicationEnd); objectoutput.writeObject(applicationLocked); objectoutput.writeObject(approvalRequired); ... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.