使用高级映射功能 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用高级映射功能

了解 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 字符串构建的属性。