code: public int delete(DatabaseConnection databaseConnection, T data, ObjectCache objectCache) throws SQLException {
  		try {
  			Object[] args = getFieldObjects(data);
  			int rowC = databaseConnection.delete(statement, args, argFieldTypes);
  			logger.debug("delete data with statement '{}' and {} args, changed {} rows", statement, args.length, rowC);
  			if (args.length > 0) {
  				// need to do the (Object) cast to force args to be a single object
  				logger.trace("delete arguments: {}", (Object) args);
  			}
  			if (rowC > 0 && objectCache != null) {
  				Object id = idField.extractJavaFieldToSqlArgValue(data);
  				objectCache.remove(clazz, id);
  			}
  			return rowC;
  		} catch (SQLException e) {
  			throw SqlExceptionUtil.create("Unable to run delete stmt on object " + data + ": " + statement, e);
  		}
  	}
docs: Delete the object from the database.