添加Map <Long,String>属性后,DynamoDB异常

问题描述

我正在尝试修改现有的DynamoDB表以添加一列,该列是一个简单的Map ,但是一旦添加该列并尝试对其进行设置,则会出现以下错误:

#include <cstdint>
#include <vector>
#include <random>

int main()
{
   std::random_device rd;
   std::uniform_int_distribution<uint32_t> dist(0,0xFFFFFFFFu);
   std::vector<char> data(1000);
   int offset = 0;
   uint32_t bits = 0;
   for (char& d : data)
   {
      if (offset == 0)
         bits = dist(rd);
      d = static_cast<char>(bits & 0xFF);
      bits >>= 8;
      if (++offset >= 4)
         offset = 0;
   }
   return 0;
}

将以下内容添加到表示dynamo对象的类中:

 com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: not supported; requires @DynamoDBTyped or @DynamoDBTypeConverted

发电机不是能够处理从Long到String的简单映射吗?我该如何解决?

解决方法

DynamoDBMapper将处理地图确定。如果您的地图包含的字段不是基本类型,则需要提供一个转换器。在您的情况下,Long和String是considered primitives,它应该可以正常工作,而无需任何其他注释或转换器。

我的应用程序中有Map<String,BigDecimal>Map<String,String>,它们工作正常。

说实话,我很确定该错误与您在问题中发布的地图无关。我认为您还有另一个问题所在。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...