Alexander Falb created OPENJPA-2800: ---------------------------------------
Summary: StateManager field in enhanced entities are not "synthetic" Key: OPENJPA-2800 URL: https://issues.apache.org/jira/browse/OPENJPA-2800 Project: OpenJPA Issue Type: Bug Components: Enhance Affects Versions: 2.4.3 Reporter: Alexander Falb Attachments: image-2020-01-15-08-12-02-066.png I'm using reflection to do various things on an entity-class during my unit tests. Because my tests are not interested in any of OpenJPAs internals, I'm trying to skip any field generated during enhancement. Basically I skip every field with where [Field#isSynthetic|[https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#isSynthetic--]] is true. The pcStateManager however does not have the flag ACC_SYNTHETIC set: {code} $ javap -verbose MyEntity.class [...] protected transient org.apache.openjpa.enhance.StateManager pcStateManager; descriptor: Lorg/apache/openjpa/enhance/StateManager; flags: ACC_PROTECTED, ACC_TRANSIENT [...] {code} Screenshot from my debugger: !image-2020-01-15-08-12-02-066.png|thumbnail! According to the [JVM Specs|https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.8] {quote}[...]A class member that does not appear in the source code must be marked using a Synthetic attribute, or else it must have its ACC_SYNTHETIC flag set.[...]{quote} Is this flag intentionally not set? -- This message was sent by Atlassian Jira (v8.3.4#803005)