Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Differenze di blocco ottimistiche tra la versione 1 e la versione 2 dell'SDK for Java
Sia la V1 che la V2 implementano il blocco ottimistico con un'annotazione di attributo che contrassegna una proprietà sulla classe bean per memorizzare il numero di versione.
V1 | V2 | |
---|---|---|
Annotazione della classe Bean | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute (nota che V2 usa una «b» minuscola) |
Salvataggio iniziale | Attributo del numero di versione impostato su 1. |
Il valore iniziale per l'attributo di versione impostato con |
Aggiornamento | L'attributo del numero di versione viene incrementato di 1 se il controllo condizionale verifica che il numero di versione dell'oggetto da aggiornare corrisponda al numero nel database. |
L'attributo del numero di versione viene incrementato se il controllo condizionale verifica che il numero di versione dell'oggetto da aggiornare corrisponda al numero nel database. L'attributo del numero di versione incrementato dall'opzione impostata con. |
Eliminazione | DynamoDBMapper aggiunge un controllo condizionale che il numero di versione dell'oggetto da eliminare corrisponda al numero di versione nel database. |
V2 non aggiunge automaticamente condizioni per le operazioni di eliminazione. È necessario aggiungere manualmente le espressioni di condizione se si desidera controllare il comportamento di eliminazione. Nell'esempio seguente
|
Scrittura transazionale con controllo delle condizioni | Non è possibile utilizzare una classe bean con annotazioni @DynamoDBVersionAttribute in un metodo. addConditionCheck |
È possibile utilizzare una classe bean con l'@DynamoDbVersionAttribute annotazione in un metodo addConditionCheck builder per una richiesta. transactWriteItems |
Disabilita | Disabilita il blocco ottimistico modificando il valore di
DynamoDBMapperConfig.SaveBehavior enumerazione da a. UPDATE CLOBBER |
Non utilizzare l'annotazione. |