Thrown when a version number or timestamp check failed, indicating that the
Session contained stale data (when using long transactions
with versioning). Also occurs if we try delete or update a row that does
not exist.

Note that this exception often indicates that the user failed to specify the
correct unsaved-value strategy for a class!