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 AttributeValuesTableSchema
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 parasoftware.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 TableSchema
s 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 deTableSchema
usando um construtorpara 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ânciaDocumentTableSchema
. Normalmente, você especifica somente chaves primárias e provedores de conversão de atributos. Uma instânciaEnhancedDocument
fornece os atributos que você cria a partir de elementos individuais ou de uma cadeia de caracteres JSON.