2016-11-21 14 views
0

私はこのような私のDynamoDBのテーブルからデータを照会しようとすると、私はnullオブジェクト参照エラーが表示されます。DynamoDBのPaginatedQueryList nullオブジェクト参照エラー

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 
+0

あなたはDataMapperClassを自分で作成している:

は、私は私のonCreate()でこれをしないことに気付きましたか?はいの場合は、そのコードを共有することができますが、ここではhttp://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/datamodeling/DynamoDBMapper.htmlに記載されているように正しく注釈が付けられていることを確認してください。 – dinesh

+0

あなたはNullPointerExceptionを取得していますか?私は上記のコードでQueryResultを見ることができません。クエリを実行した後、またはmapper.queryで例外が発生していますか? – notionquest

+0

@notionquest:AsyncTaskのdoInBackground()でコードを実行した後、java.lang.NullPointerException "null object reference"エラーが発生します。 –

答えて

0

問題sol ved!

ddbClient = new AmazonDynamoDBClient(identityManager.getCredentialsProvider()); 
関連する問題