public JdbcQueryTaskParameters(String sql, int fetchSize, boolean returnKeys, PreparedStatementCallback<?> action,
			Object... args) {
		int hashCode = 0;
		
		this.sql = sql;
		hashCode += sql.hashCode();
		
		this.fetchSize = fetchSize;
		hashCode += fetchSize;
		
		this.returnKeys = returnKeys;
		hashCode +=  (returnKeys ? 1231 : 1237);
		
		this.action = action;
		
		this.args = args;
		
		if(args != null) {
			for(Object arg : args) {
				hashCode +=  (arg == null? 0 : arg.hashCode());
			}
		}
		
		this.hashCode = 17 + 23 * hashCode;
	}