I'm using @Transient annotation in my entity fields. How can I disable caching transient field values, so every copy retrived from cache would have default value. Now when one user change transient value other user can see it (when he gets the same class from cache)
The simplest solution is to add @InstantiationCopyPolicy to your class.
This is also affected by weaving, (EclipseLink only does this when weaving is enabled, specifically "eclipselink.weaving.internal"="true").
You can also clear the transient fields through postMerge/Clone DescriptorEvents.