Это определенно возможно.Вот пример для сканирования, хотя он также будет работать для запроса.В этом примере будут найдены все книги стоимостью менее 10 долларов и все компакт-диски стоимостью более 10 долларов.
Map<String, AttributeValue> eav = new HashMap<String, AttributeValue>();
eav.put(":val1", new AttributeValue().withN(10));
eav.put(":val2", new AttributeValue().withS("Book"));
eav.put(":val3", new AttributeValue().withS("CD"));
DynamoDBScanExpression scanExpression = new DynamoDBScanExpression()
.withFilterExpression("Price < :val1 and ProductCategory = :val2 or Price > :val1 and ProductCategory = :val3")
.withExpressionAttributeValues(eav);
List<Book> scanResult = mapper.scan(Book.class, scanExpression);
В этом можно убедиться, проверив синтаксис для выражений условий .Кроме того, вот соответствующий javadoc для DynamoDBQueryExpression и DynamoDBScanExpression .