Ошибка ссылки на нулевой объект DynamoDB PaginatedQueryList

Я получаю ошибку ссылки на нулевой объект, когда пытаюсь запросить данные из моей таблицы DynamoDB следующим образом:

 mapper = new DynamoDBMapper(ddbClient);

 DataMapperClass dataMapperClass = new DataMapperClass();
 dataMapperClass.setHash("theHashValueIset");

 String queryString = String.valueOf("theRangeValueIset");

 Condition rangeKeyCondition = new Condition()
     .withComparisonOperator(ComparisonOperator.BEGINS_WITH.toString())
     .withAttributeValueList(new AttributeValue().withS(queryString.toString()));

 DynamoDBQueryExpression <DataMapperClass> queryExpression = new DynamoDBQueryExpression<DataMapperClass>()
     .withHashKeyValues(dataMapperClass)
     .withRangeKeyCondition("rangeAttributeOnTable", rangeKeyCondition)
     .withConsistentRead(false);

 PaginatedQueryList<DataMapperClass> result = mapper.query(DataMapperClass.class, queryExpression);

Мой DataMapperClass.class:

  @DynamoDBTable(tableName = "myTableName")
  public class DataMapperClass {

  private String hash;//based on a set of categories I chose
  private String objectID; //auto generated 


  //Hash
  @DynamoDBHashKey(attributeName = "hashNameOnMyTable")
  public String getHash() { return hash; }
  public void setHash(String hash) { this.hash = hash;}


  //ObjectID
  @DynamoDBRangeKey(attributeName = "rangeAttributeOnTable")
  @DynamoDBAutoGeneratedKey
  public String getObjectID() {return objectID;}
  public void setObjectID(String objectID) { this.objectID = objectID;  }

  /* other @DynamoDBAttribute*/

  }

Как я могу решить эту ошибку, которую я получаю в строке кода «PaginatedQueryList»:

Attempt to invoke interface method 'com.amazonaws.services.dynamodbv2.model.QueryResult com.amazonaws.services.dynamodbv2.AmazonDynamoDB.query(com.amazonaws.services.dynamodbv2.model.QueryRequest)' on a null object reference

person S bruce    schedule 21.11.2016    source источник
comment
Вы сами создаете DataMapperClass? Если да, можете ли вы поделиться его кодом, убедитесь, что он правильно аннотирован, как описано здесь docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/.   -  person dinesh    schedule 21.11.2016
comment
Вы получаете исключение NullPointerException? Я не вижу QueryResult в приведенном выше коде. Вы получаете исключение после выполнения запроса или на mapper.query?   -  person notionquest    schedule 21.11.2016
comment
@notionquest: я получаю ошибку ссылки на нулевой объект java.lang.NullPointerException после выполнения кода в doInBackground() AsyncTask.   -  person S bruce    schedule 21.11.2016
comment
@dinesh: я отредактировал вопрос, чтобы показать DataMapperClass.   -  person S bruce    schedule 21.11.2016


Ответы (1)


Проблема решена!

Я понял, что не делал этого в своем onCreate():

   ddbClient = new AmazonDynamoDBClient(identityManager.getCredentialsProvider());
person S bruce    schedule 21.11.2016