Javadoc
INTERNAL:
Indicates whether compareWriteLockValues method is supported by the policy.
Numeric or timestamp lock values could be compared:
for every pair of values v1 and v2 - either v1 lessthan v2; or v1==v2; or v1 greaterthan v2.
However it's impossible to compare values for FieldsLockingPolicy for two reasons:
1. there is no "linear order": v1 lessthan v2 and v greaterthan v2 is not defined: either v1==v2 or v1!=v2;
2. locking value is not a single field which is not part of mapped object value
but rather a set of object's mapped fields. That means any object's mapped attribute change
is potentially a change of the locking value.
For ChangedFieldsLockingPolicy every mapped attribute's change is a change of locking value.
The pattern used by versioning: "if the original locking value is unchanged
then the object hasn't been changed outside of the application", which allows
to distinguish between the change made inside and outside the application,
doesn't work for fields locking.
It degenerates into useless pattern: "if the original locking value is unchanged
then the object hasn't been changed".
Use compareWriteLockValues method only if this method returns true.