使用高级映射功能 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用高级映射功能

了解 DynamoDB 增强版客户端中的高级表架构功能。API

了解表架构类型

TableSchema是 DynamoDB 增强型客户端映射功能的接口。API它可以将数据对象映射到地图或从地图映射出来AttributeValuesTableSchema 对象需要知道它所映射的表的结构。此结构信息存储在 TableMetadata 对象中。

增强版客户端API有几种实现方式TableSchema,如下所示。

从带注释的类生成的表架构

从带注释的类构建 TableSchema 的操作成本适中,因此我们建议在应用程序启动时执行一次。

BeanTableSchema

此实现是基于 Bean 类的属性和注释构建的。入门部分演示了这种方法的示例。

注意

如果 BeanTableSchema 的行为不符合您的预期,请为 software.amazon.awssdk.enhanced.dynamodb.beans 启用调试日志记录。

ImmutableTableSchema

此实现基于不可变的数据类构建。使用不可变数据类部分介绍了此方法。

使用生成器生成的表架构

以下 TableSchema 是使用生成器根据代码构建的。这种方法比使用带注释的数据类的方法更便宜。构建器方法避免使用注释,并且不需要 JavaBean 命名标准。

StaticTableSchema

此实现是为可变数据类构建的。本指南的入门部分演示了如何使用生成器生成 StaticTableSchema

StaticImmutableTableSchema

StaticTableSchema 构建方式类似,您使用生成器生成这种类型的 TableSchema 实现,以用于不可变的数据类。

适用于无固定架构数据的表架构

DocumentTableSchema

与其他 TableSchema 实现不同,您无需为 DocumentTableSchema 实例定义属性。通常,您只需指定主键和属性转换器提供程序。EnhancedDocument实例提供您根据单个元素或JSON字符串构建的属性。