Usar recursos avançados de mapeamento - AWS SDK for Java 2.x

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar recursos avançados de mapeamento

Saiba mais sobre os atributos avançados do esquema de tabelas na API do Cliente Aprimorado do DynamoDB.

Entender os tipos de esquema de tabela

TableSchema é a interface para a funcionalidade de mapeamento da API do Cliente Aprimorado do DynamoDB. Ele pode mapear um objeto de dados de e para um mapa de AttributeValues. Um objeto TableSchema precisa conhecer a estrutura da tabela que está mapeando. Essas informações de estrutura são armazenadas em um objeto TableMetadata.

A API de cliente aprimorado tem várias implementações de TableSchema, conforme será visto a seguir.

Esquema de tabela gerado a partir de classes anotadas

Criar uma TableSchema a partir de classes anotadas é uma operação moderadamente dispendiosa, portanto, recomendamos fazer isso uma vez, na inicialização do aplicativo.

BeanTableSchema

Essa implementação é construída com base nos atributos e anotações de uma classe de bean. Um exemplo dessa abordagem é demonstrado na seção Conceitos básicos.

nota

Se uma BeanTableSchema não estiver se comportando conforme o esperado, habilite o registro de depuração para software.amazon.awssdk.enhanced.dynamodb.beans.

ImmutableTableSchema

Essa implementação é criada a partir de uma classe de dados imutável. Esse método é descrito na seção Trabalhar com classes de dados imutáveis.

Esquema de tabela gerado com um construtor

As seguintes TableSchemas são criadas a partir do código usando um construtor. Essa abordagem é menos dispendiosa do que a abordagem que usa classes de dados anotadas. A abordagem do construtor evita o uso de anotações e não exige JavaBean padrões de nomenclatura.

StaticTableSchema

Essa implementação foi criada para classes de dados mutáveis. A seção de introdução deste guia demonstrou como gerar uma StaticTableSchema usando um construtor.

StaticImmutableTableSchema

Da mesma forma que você cria um StaticTableSchema, você gera uma implementação desse tipo de TableSchema usando um construtor para uso com classes de dados imutáveis.

Esquema de tabela para dados sem um esquema fixo

DocumentTableSchema

Ao contrário de outras implementações de TableSchema, você não define atributos para uma instância DocumentTableSchema. Normalmente, você especifica somente chaves primárias e provedores de conversão de atributos. Uma instância EnhancedDocument fornece os atributos que você cria a partir de elementos individuais ou de uma cadeia de caracteres JSON.