2017-04-14 7 views
0

Ich habe einen spezifischen Fehler beim Ausführen eines Scan-Ausdrucks in einer Tabelle in meiner DynamoDB-Datenbank. Es gibt ein Element in meiner Projekttabelle ab sofort. Dieser Artikel enthält eine Projektbeschreibung und eine Liste von Strings von Teamkollegen. Beim Abrufen der Informationen für die Projektbeschreibung gibt mein Code den korrekten Namen des Projekts aus. Wenn Sie jedoch versuchen, die Liste der Teamverknüpfungen aus demselben Element abzurufen, wird angegeben, dass es sich bei der Liste um eine Nullobjektverweisliste handelt. Ich kann nicht verstehen, warum die zurückgegebene Liste null ist. Angenommen, alle Berechtigungen wurden in der IAM-Konsole und in der Datenbank ordnungsgemäß festgelegt.Wie kann ich eine Liste von DynamoDB abrufen?

Unten ist der Code für meinen Thread, der die Tabelle scannt.

Unten ist der Code für die Projektklasse, die als Vorlage beim Scannen der Tabelle dient. Dies ist höchstwahrscheinlich der Bereich des Problems, da die Projektbeschreibungszeichenfolge ordnungsgemäß zurückgegeben wird, die Liste der teamMates jedoch nicht. Vielleicht sollte ich nicht eine Liste verwenden, oder die Liste ist nicht richtig definiert, oder die Verwendung von Java-Anmerkungen ist auf dieser Tabelle nicht richtig gemacht !!!! Allerdings kann ich nicht finden, um das Problem

package com.example.varun.finalproject; 
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.*; 

import java.util.List; 

/** 
* Created by Varun on 4/10/17. 
*/ 
@DynamoDBTable(tableName = "SBUProjects") 

public class Project { 
private String ProjectName; 
private List<String> TeamMates; 
    @DynamoDBHashKey(attributeName = "ProjectName") 
    public String getProjectname() { 
     return ProjectName; 
    } 

    public void setProjectname(String projectName) { 
     this.ProjectName = projectName; 
    } 

    public List<String> getTeammates() { 
     return TeamMates; 
    } 

    public void setTeammates(List teammates) { 
     this.TeamMates= TeamMates; 
    } 

    } 

Schließlich ist hier ein Foto von meinem Tisch und das Element, das einen String für die Projektbeschreibung und eine Liste der Strings für meine Teamkollegen enthält. Ich nahm an, weil die Tabelle TeamMates als eine Liste festlegte, ich sollte auch eine Liste erstellen, wenn ich TeamMates zurücksende.

http://i67.tinypic.com/2qnm58h.jpg
Hilfe wäre willkommen.

Antwort

0

Sie müssen die Annotation über der getTeammates() -Methode festlegen, ähnlich wie Sie sie für die getProjectname() -Methode festlegen.

Zum Beispiel @DynamoDBAttribute(attributeName = "teammates")

Verwandte Themen