if versioning is to be used, exactly one persistent property for
the numeric version data

When using property access, the backing field for a persistent
property must be:

private

set only in the designated setter,
in the constructor, or in Object.clone(),
readObject(ObjectInputStream), or
Externalizable#readExternal(ObjectInput).

read only in the designated getter and the
constructor.

If you use this technique and use the new keyword instead
of a OpenJPA-supplied construction routine, OpenJPA will need to do extra
work with persistent-new-flushed instances, since OpenJPA cannot in this
case track what happens to such an instance.