OpenJPA requires persistence entities to be enhanced to support JPA semantics. If the client and server are in
two separate JVMs and entities are serialized/de-serialized in the transport layer, one may encountered
the following problem when:
entities are NOT enhanced on the client,
<property name="openjpa.DetachState" value="fetch-groups(DetachedStateField=true)"/> is specified for the persistence context.
When DetachedStateField=true option is specified, the client application intends to take advantage of the detached entity
field update management feature provided by OpenJPA. This requires entities to be enhanced and OpenJPA runtime
be accessible by the application. If application does not have or require the enhanced entity or OpenJPA runtime
on the client side, DetachedStateField=[false|transient] option should be used.
See DetachedStateField options section for
details of the DetachedStateField options as well the enhancement and runtime requirements.