title: DynamoDB batch execute QueryRequests
body: <p>I have the following DynamoDB query which returns the first record with the hash <em>apple</em> and time-stamp less than <em>some_timestamp</em>.</p>
  
  <pre><code>Map&lt;String, Condition&gt; keyConditions = newHashMap();
  
  keyConditions.put("HASH", new Condition().
      withComparisonOperator(EQ).
      withAttributeValueList(new AttributeValue().withS("apple")))
  );
  
  keyConditions.put("TIMESTAMP", new Condition().
      withComparisonOperator(LE).
      withAttributeValueList(new AttributeValue().withN(some_timestamp)))
  );
  
  QueryResult queryResult = dynamoDBClient.query(
      new QueryRequest().
              withTableName("TABLE").
              withKeyConditions(keyConditions).
              withLimit(1).
              withScanIndexForward(SCAN_INDEX_FORWARD)
  );
  </code></pre>
  
  <p>I need to execute many queries of this kind and so my question: is it possible to batch execute these queries? Something like the following API.</p>
  
  <pre><code>Map&lt;String, Condition&gt; keyConditions = newHashMap();
  
  keyConditions.put("HASH", new Condition().
      withComparisonOperator(EQ).
      withAttributeValueList(new AttributeValue().withS("apple")))
  );
  
  keyConditions.put("TIMESTAMP", new Condition().
      withComparisonOperator(LE).
      withAttributeValueList(new AttributeValue().withN(some_timestamp)))
  );
  
  QueryRequest one = new QueryRequest().
      withTableName("TABLE").
      withKeyConditions(keyConditions).
      withLimit(1).
      withScanIndexForward(SCAN_INDEX_FORWARD);
  
  keyConditions = newHashMap();
  
  keyConditions.put("HASH", new Condition().
      withComparisonOperator(EQ).
      withAttributeValueList(new AttributeValue().withS("pear")))
  );
  
  keyConditions.put("TIMESTAMP", new Condition().
      withComparisonOperator(LE).
      withAttributeValueList(new AttributeValue().withN(some_other_timestamp)))
  );
  
  QueryRequest two = new QueryRequest().
      withTableName("TABLE").
      withKeyConditions(keyConditions).
      withLimit(1).
      withScanIndexForward(SCAN_INDEX_FORWARD)
  
  ArrayList&lt;String&gt; queryRequests = new ArrayList&lt;String&gt;() {{
      add(one);
      add(two);
  }};
  
  List&lt;QueryResult&gt; queryResults = dynamoDBClient.query(queryRequests);
  </code></pre>