

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie erweiterte Mapping-Funktionen
<a name="ddb-en-client-adv-features"></a>

Erfahren Sie mehr über erweiterte Tabellenschemafunktionen in der DynamoDB Enhanced Client API.

## Machen Sie sich mit Tabellenschematypen vertraut
<a name="ddb-en-client-adv-features-schm-overview"></a>

`[TableSchema](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/TableSchema.html)`ist die Schnittstelle zur Mapping-Funktionalität der DynamoDB Enhanced Client API. Sie kann ein Datenobjekt einer Map von und zu einer Map von zuordnen. [AttributeValues](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/model/AttributeValue.html) Ein `TableSchema` Objekt muss die Struktur der Tabelle kennen, die es abbildet. Diese Strukturinformationen werden in einem [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/TableMetadata.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/TableMetadata.html)Objekt gespeichert.

Die erweiterte Client-API hat mehrere Implementierungen von`TableSchema`, die im Folgenden aufgeführt sind. 

### Aus kommentierten Klassen generiertes Tabellenschema
<a name="ddb-en-client-adv-features-schema-mapped"></a>

Das Erstellen eines `TableSchema` aus annotierten Klassen ist ein relativ teurer Vorgang. Wir empfehlen daher, dies einmal beim Start der Anwendung zu tun.

 [ BeanTableSchema ](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/mapper/BeanTableSchema.html)   
Diese Implementierung basiert auf Attributen und Anmerkungen einer Bean-Klasse. Ein Beispiel für diesen Ansatz wird im [Abschnitt Erste Schritte](ddb-en-client-gs-tableschema.md#ddb-en-client-gs-tableschema-anno-bean) demonstriert.  
Wenn `BeanTableSchema` sich a nicht wie erwartet verhält, aktivieren Sie die Debug-Protokollierung für. `software.amazon.awssdk.enhanced.dynamodb.beans`

[ImmutableTableSchema](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/mapper/ImmutableTableSchema.html)  
Diese Implementierung basiert auf einer unveränderlichen Datenklasse. Dieser Ansatz wird im [Arbeiten Sie mit unveränderlichen Datenklassen](ddb-en-client-use-immut.md) Abschnitt beschrieben.

### Mit einem Builder generiertes Tabellenschema
<a name="ddb-en-client-adv-features-schema-static"></a>

Die folgenden `TableSchema` s werden mithilfe eines Builders aus Code erstellt. Dieser Ansatz ist kostengünstiger als der Ansatz, bei dem annotierte Datenklassen verwendet werden. Der Builder-Ansatz vermeidet die Verwendung von Anmerkungen und erfordert keine JavaBean Benennungsstandards.

[StaticTableSchema](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/mapper/StaticTableSchema.html)  
Diese Implementierung wurde für veränderbare Datenklassen entwickelt. Im Abschnitt „Erste Schritte“ dieses Handbuchs wurde gezeigt, wie Sie [`StaticTableSchema`mithilfe eines Builders eine generieren](ddb-en-client-gs-tableschema.md#ddb-en-client-gs-tableschema-builder).

[StaticImmutableTableSchema](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/mapper/StaticImmutableTableSchema.html)  
Ähnlich wie beim Erstellen eines generieren Sie eine Implementierung dieses Typs`StaticTableSchema`, indem Sie einen [Builder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/mapper/StaticImmutableTableSchema.html) für die `TableSchema` Verwendung mit unveränderlichen Datenklassen verwenden.

### Tabellenschema für Daten ohne festes Schema
<a name="ddb-en-client-adv-features-schema-document"></a>

[DocumentTableSchema](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/document/DocumentTableSchema.html)  
Im Gegensatz zu anderen Implementierungen von `TableSchema` definieren Sie keine Attribute für eine `DocumentTableSchema` Instanz. Normalerweise geben Sie nur Primärschlüssel und Anbieter von Attributkonvertern an. Eine `EnhancedDocument` Instanz stellt die Attribute bereit, die Sie aus einzelnen Elementen oder aus einer JSON-Zeichenfolge erstellen.