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);
		}
	}
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 ) { 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 ) ; } }
Delete the object from the database.