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

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

使用高级映射功能

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

了解表架构类型

TableSchema 是 DynamoDB 增强型客户端 API 映射功能的接口。它可以在数据对象和 AttributeValues 映射之间进行映射。TableSchema 对象需要知道它所映射的表的结构。此结构信息存储在 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 字符串构建的属性。