当前位置: 首页 > 知识库问答 >
问题:

Spring boot-使用Crudepository在dynamodb中保存ArrayList

穆旭尧
2023-03-14

我正在本地环境中使用Dynamodbspring boot。当我尝试使用存储库保存对象列表时。save(),其中存储库类型扩展了crudepository接口,我得到以下异常:

通用域名格式。亚马逊。服务。dynamodbv2。数据建模。DynamoDBMappingException:类java。util。ArrayList必须使用接口com进行注释。亚马逊。服务。dynamodbv2。数据建模。发电机电缆

是否无法使用CrudePository保存对象列表,如在MongorPository中,我们可以保存对象列表。

共有1个答案

谢善
2023-03-14

可能不是,因为List可能包含重复记录,其中DynamoDB期望唯一的记录集。请使用Set而不是List,那么它应该可以工作。请在您的数据库模型对象上使用以下注释-

@DynamoDBTyped(DynamoDBAttributeType.L)
private Set<MyObject> myObjSet = new HashSet<>(); 

还可以在MyObject的类级别使用@DynamoDBDocument注释。JAVA那么它应该会起作用。

 类似资料:
  • 我试图设置本地DynamoDB实例与SpringBoot。我跟着这个,但是格拉德尔。 当我尝试运行我的应用程序时,会出现以下异常: 我知道这是由于歧义导致的依赖注入失败,但我的是一个无参数构造函数。不确定歧义在哪里。 以下是我的代码: 格雷德尔锉刀 发电机配置 代理(实体) @DynamoDBTable(tableName="Agent")公共类Agent{私有字符串代理号;私有整数id;私有企业

  • 我使用的是spring boot和spring data dynamodb。当从dynamodb获取数据时,我得到了NullPointerException。这是我的实体课程 元对象类 这就是DynamoDb中存在的东西 我估计地图有问题。请引导。我的仓库类, 我使用这个方法findMyEntityByHashKeyAndSortKey来获取数据, 异常日志 为什么它会给出NullPointerE

  • 我正在使用boto3从DynamoDB数据库中选择数据 工作罚款。现在我还想检索一个(不幸的是)用保留字命名的属性——比方说。 我得到一个错误就像 调用扫描操作时发生错误(ValidationException):无效的ProjectionExpression:属性名称是保留关键字;保留关键字:连接 我知道如果使用过滤器或查询,会有一种别名技术,但对于boto3的简单投影是否存在这种技术?

  • 使用的技术: Spring Boot 1.4.2.Release,Spring 4.3.4.Release,Tymeleaf 2.1.5.Release,Tomcat Embeded 8.5.6、Maven 3、Java 8 我创建了这个服务来发送电子邮件