Hi folks! I just get grey hairs with the DetachedStateManager
my situation: .) with default detach strategy -> error in @PostLoad see OPENJPA-1873 -> error in storing Null Values at em.merge() .) with detach strategy fetch-groups -> ElementCollections don't get stored .) with fgs(DetachedStateField=true) -> funny crash with improper cast when the entity gets serialized: java.lang.ClassCastException: org.apache.openjpa.kernel.StateManagerImpl cannot be cast to org.apache.openjpa.kernel.DetachedStateManager at org.apache.openjpa.util.Proxies.writeReplace(Proxies.java:147) at org.apache.openjpa.util.java$util$Date$proxy.writeReplace(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1032) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1107) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at org.apache.openjpa.kernel.SingleFieldManager.serialize(SingleFieldManager.java:540) at org.apache.openjpa.kernel.StateManagerImpl.writeDetached(StateManagerImpl.java:1478) at at.ac.tuwien.tiss.education.be.entities.ExamDate.writeExternal(ExamDate.java) at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at java.util.ArrayList.writeObject(ArrayList.java:570) So what to do? I'm willing to spend a reasonable amount of time to create unit tests for those scenarios to help improve OpenJPA. I also already have a medium profound knowledge of OpenJPA internals to help fixing those issues. But I most probably need a few hints to get the right initial direction. So my first question would be: which detach strategy is the way to go for a standard JSF application which uses the entitymanager-per-request pattern? The default one (loaded)? txs and LieGrue, strub