मैं जावा में DynamoDBMapper की मदद से डायनेमोडीबी से पूछताछ करने की कोशिश कर रहा हूं, जिसमें हैशकी और रेंजकी दोनों हैं। लेकिन मुझे सभी नतीजे नहीं मिल रहे हैं, यह केवल कुछ हिस्सा देता है। मेरे कोड लगता है:मैं डायनामो डीबीएपर क्वेरी() के पेजिनेटेड परिणाम से सभी आइटम कैसे पुनर्प्राप्त कर सकता हूं?
queryDynamoDb() {
Condition rangeKeyCondition = new Condition()
.withComparisonOperator(ComparisonOperator.GT.toString())
.withAttributeValueList(new AttributeValue().withS("0"));
DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression(
new AttributeValue().withS(prefKey));
queryExpression.setRangeKeyCondition(rangeKeyCondition);
List<MyObj> myobjs = mapper.query(MyObj.class, queryExpression);
return myobjs;
}
MyObj
ठीक से DynamoDB एनोटेशन के साथ टिप्पणी की जाती है। इसलिए मैं वस्तुओं को सहेजने में सक्षम हूं, लेकिन पुनर्प्राप्ति केवल आंशिक परिणाम देता है।
DynamoDBMapper भीतर क्वेरी के प्रलेखन का कहना है:
क्वेरी विधि रिटर्न "आलसी-लोडेड" संग्रह। यही है, शुरुआत में यह परिणाम के केवल एक पृष्ठ देता है। जब आवश्यक हो तो यह अगले पृष्ठ के लिए एक सेवा कॉल बनाता है।
अब सवाल यह है कि, सेवा कॉल करने के लिए मैपर को कैसे बताना है या एक पृष्ठ की आवश्यकता है, इसलिए यह सभी पृष्ठों को लोड करता है (प्रभावी रूप से सभी प्रविष्टियां)?
ओपन, मैं आपके उत्तर से सहमत हूं, ऐसा लगता है कि मैं एक ही समस्या में हूं। प्रश्न यहां है, https://stackoverflow.com/questions/45495145/issue-with-caching-and-dynamo-db-combination – Deepak