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

用于不同属性的DynamoDB映射器框架

姜玉泽
2023-03-14

我最近开始使用 DynamoDB,我看到要使用 DynamoDB 映射器框架,我需要先知道属性的名称,然后再将其绑定到类变量。如果我必须实现几个动态变化的属性,但仍然希望能够在扫描期间对它们设置条件,该怎么办?我尝试在类中绑定一个哈希映射(假设在变量“attrMap”下),并编写我自己的编组器来设置它。但是,我注意到它在Dynamo表中保存为一个具有复杂值的属性“attrMap”,这不允许我在扫描期间对这些动态属性设置条件。

有没有办法使用Mapper框架将这些动态属性设置为与表中任何其他静态绑定属性相同的级别,该框架允许我在扫描期间对它们设置条件?

共有1个答案

锺离珂
2023-03-14

我所做的是有几个Java类,所有类都用@DynamoDBTable注释(表名=“my_table”)

唯一常见的是@DynamoDBHashKey

除此之外,您可以让不同的类实现不同的属性。默认编组器将仅检索每个类的相关属性,并仅更新这些属性,并且在映射器中使用SaveBehavior.UPDATE时不会影响其他属性。

 类似资料:
  • 问题内容: 我的一位同事向我提出了一个有趣的问题,但是我找不到一个整洁漂亮的Java 8解决方案。问题是流式传输POJO列表,然后基于多个属性将它们收集在映射中- 映射导致POJO多次发生 想象以下POJO: 将其设置为: 备选方案1 :在“ stream”之外(或在之外)使用。 备选方案2 :创建地图项并流式传输,然后流式传输。海事组织,这有点太冗长,不太容易阅读。 备选方案3 :到目前为止,这

  • 有人能告诉我如何将映射设置为尚不存在的属性的值吗?我一直在尝试一个更新表达式,但这只在属性存在并且属性的值已经是映射的情况下才有效。 我尝试使用,但后来我得到了: UpdateExpression无效:语法错误;标记:“=”,靠近:#key=:val” 我正在使用Java。请注意,我正在尝试使用UpdateItem请求来完成此操作。我刚刚想到,这可能不适用于映射。我只是假设它会,因为如果不存在,我

  • 我想使用以下代码实现文件下载: RestAPI: 服务: 组件: 当我启动angular时,我得到错误:src/app/panel/service/download中的错误。服务ts(17,91):错误TS2339:类型“Observable”上不存在属性“map”。 将导入代码的正确wya是什么?当我点击下载按钮时,什么也没发生。

  • 是否有一种方法可以使用某种表达式重新映射属性名称,以便以以下形式获得数据输出: 我目前使用JavaScript的array.foreach处理数据,但是,我试图避免这种情况,而宁愿利用DynamoDB进行计算。

  • 下面是从外部方接收的JSON字符串。 问题是我不喜欢类中的类名和字段名。相反,我希望将其命名为,并且将从字段名称中删除,并给出正确的名称。 我可以将重命名为,但如果更改字段名(类中的),它将无法正确反序列化,并给我。我怎样才能克服这些呢?

  • 我的应用程序中有两个方法,它们使用相同的请求映射和不同的(http)方法 是否有可能在不同的控制器中定义它们,或者我应该考虑一些(可怕的)变通方法(比如重命名一个URL)?