2017-05-18 3 views
0

Dieser Artikel über das AWS SDK für Java sagt, dass es automatisch einen Schlüssel in einer Datenklasse durch @DynamoDBAutoGenerateKey erzeugen: https://aws.amazon.com/articles/0802321832592496Unterstützt der DynamoDB-Mapper die Abfrage eines automatisch generierten Schlüssels?

Frage ist, wie lade ich so etwas wie dies, dass Schlüssel basiert auf? Wenn ich ein Objekt mit dieser ID konstruiere und .load() damit anrufe, wird es automatisch den richtigen Hash nachschlagen?

Antwort

0

Das ist richtig.

zB mit einem Mapper:

DynamoDBMapperConfig mapperConfig = DynamoDBMapperConfig 
        .builder()     
        .withTableNameOverride(DynamoDBMapperConfig.TableNameOverride.withTableNamePrefix(environment + ".")) 
        .withConversionSchema(ConversionSchemas.V2) 
        .build(); 

client.getMapper().load(DBActivity.class, id, mapperConfig) 

Wo, id die automatisch generierten Schlüssel.

+0

Nun, ich würde nicht wissen, was der automatisch generierte Schlüssel ist, es ist ein Hash generiert von meinem privaten Mitglied des Objekts. Wenn ich dasselbe Element für eine Ladung verwende, funktioniert es dann noch? – jayjyli

+0

Sie kennen den automatisch generierten Wert für keine der Datenbanken, die Sie implementieren. Der generierte Wert muss an den Aufrufer zurückgegeben werden, nachdem Sie den Erstellungsaufruf ausgeführt haben. Es liegt in der Verantwortung des Betreibers, den richtigen Schlüssel zum Handeln zu liefern. –

+0

Aber das bedeutet, dass der Aufrufer dann den Wert verfolgen und wissen müsste, dass er später mit diesem Wert auf die DB trifft, richtig? Ohne dass, werden die Aufzeichnungen unzugänglich? – jayjyli

Verwandte Themen