docs: @Override
    protected void updateEntity(DbEntityOperation operation) {
  
      final DbEntity dbEntity = operation.getEntity();
  
      String updateStatement = dbSqlSessionFactory.getUpdateStatement(dbEntity);
      ensureNotNull("no update statement for " + dbEntity.getClass() + " in the ibatis mapping files", "updateStatement", updateStatement);
  
      LOG.executeDatabaseOperation("UPDATE", dbEntity);
  
      if (Context.getProcessEngineConfiguration().isJdbcBatchProcessing()) {
        // execute update
        executeUpdate(updateStatement, dbEntity);
      } else {
        // execute update
        int numOfRowsUpdated = executeUpdate(updateStatement, dbEntity);
  
        if (dbEntity instanceof HasDbRevision) {
          if (numOfRowsUpdated != 1) {
            // failed with optimistic locking
            operation.setFailed(true);
            return;
          } else {
            // increment revision of our copy
            HasDbRevision versionedObject = (HasDbRevision) dbEntity;
            versionedObject.setRevision(versionedObject.getRevisionNext());
          }
        }
      }
  
      // perform post update action
      entityUpdated(dbEntity);
    }