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á.
Diferenças otimistas de bloqueio entre a versão 1 e a versão 2 do SDK for Java
Tanto a V1 quanto a V2 implementam um bloqueio otimista com uma anotação de atributo que marca uma propriedade em sua classe de bean para armazenar o número da versão.
V1 | V2 | |
---|---|---|
Anotação da classe Bean | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute (observe que V2 usa um “b” minúsculo) |
Salvamento inicial | Atributo do número da versão definido como 1. |
O valor inicial para o atributo de versão definido com |
Atualizar | O atributo do número da versão será incrementado em 1 se a verificação condicional verificar se o número da versão do objeto que está sendo atualizado corresponde ao número no banco de dados. |
O atributo do número da versão será incrementado se a verificação condicional verificar se o número da versão do objeto que está sendo atualizado corresponde ao número no banco de dados. O atributo do número da versão incrementado pela |
Excluir | DynamoDBMapper adiciona uma verificação condicional de que o número da versão do objeto que está sendo excluído corresponde ao número da versão no banco de dados. |
A V2 não adiciona automaticamente condições para as operações de exclusão. Você deve adicionar expressões condicionais manualmente se quiser controlar o comportamento de exclusão. No exemplo a seguir
|
Gravação transacional com verificação de condição | Você não pode usar uma classe de bean que esteja anotada @DynamoDBVersionAttribute em um addConditionCheck método. |
Você pode usar uma classe de bean com a @DynamoDbVersionAttribute anotação em um método addConditionCheck construtor para uma transactWriteItems solicitação. |
Disable (Desabilitar) | Desative o bloqueio otimista alterando o valor da
DynamoDBMapperConfig.SaveBehavior enumeração de para. UPDATE CLOBBER |
Não use a |