【问题标题】:DynamoDB Storing/ Mapping Complex Objects in MapsDynamoDB 在地图中存储/映射复杂对象
【发布时间】:2016-02-03 22:49:13
【问题描述】:

我们正在尝试开始使用 dynamo db,但我正在为一个映射问题而烦恼。

我有一个模型 Match 和 matchPlayer。

Match 有一个包含 matchPlayer 对象的地图属性。

我无法让 dynamodb 正确映射此属性。 我尝试了 json Marshaller,但这只会导致错误

值 {M: {player2={M:(More json)

中的预期 S

是否有任何好的示例或教程用于映射/编组具有复杂对象的地图以使用 dynamodb?我找到了使用简单复杂对象的教程,但没有使用对象映射。

很高兴得到任何帮助!

@DynamoDBTable(tableName="Matches")
public class Match {

    private String matchId;
    private Boolean active;
    private int currentRound;
    private Boolean finished;

    private Map<String, MatchPlayers> players;

    @DynamoDBHashKey(attributeName = "matchId")
    public String getMatchId() {
        return matchId;
    }

    public void setMatchId(String matchId) {
        this.matchId = matchId;
    }
    @DynamoDBIndexRangeKey(attributeName = "active")
    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }


    @DynamoDBIndexRangeKey(attributeName = "currentRound")
    public int getCurrentRound() {
        return currentRound;
    }

    public void setCurrentRound(int currentRound) {
        this.currentRound = currentRound;
    }

    @DynamoDBIndexRangeKey(attributeName = "finished")
    public Boolean getFinished() {
        return finished;
    }

    public void setFinished(Boolean finished) {
        this.finished = finished;
    }

    @DynamoDBMarshalling(marshallerClass = MatchPlayersMarshaller.class)
    @DynamoDBIndexRangeKey(attributeName = "players")
    public Map<String, MatchPlayers> getPlayers() {
        return players;
    }

    public void setPlayers(Map<String, MatchPlayers> players) {
        this.players = players;
    }
}

【问题讨论】:

    标签: java android amazon-web-services amazon amazon-dynamodb


    【解决方案1】:

    Android 的 DynamoDB 对象映射器目前不支持数组和映射的复杂数据类型映射。您需要自己手动将字典映射到自定义对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      相关资源
      最近更新 更多