Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Diferencias de bloqueo positivo entre la versión 1 y la 2 del SDK para Java
Tanto la V1 como la V2 implementan bloqueo positivo con una anotación de atributo que marca una propiedad en la clase bean para almacenar el número de versión.
| V1 | V2 | |
|---|---|---|
| Anotación de clase bean | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute (tenga en cuenta que la V2 usa una “b” minúscula) |
| Guardado inicial | Atributo de número de versión establecido en 1. |
Valor inicial del atributo de versión establecido en |
| Actualización | El atributo de número de versión se incrementa en 1 si la comprobación condicional verifica que el número de versión del objeto que se está actualizando coincide con el número de la base de datos. |
El atributo de número de versión se incrementa si la comprobación condicional verifica que el número de versión del objeto que se está actualizando coincide con el número de la base de datos. El atributo de número de versión se incrementa mediante la opción |
| Eliminar | DynamoDBMapper añade una comprobación condicional de que el número de versión del objeto que se está eliminando coincide con el número de versión de la base de datos. |
La V2 no añade automáticamente condiciones para las operaciones de eliminación. Debe añadir expresiones de condición manualmente si desea controlar el comportamiento de eliminación. En el siguiente ejemplo,
|
| Escritura transaccional con comprobación de condición | No se puede utilizar una clase de bean que esté anotada con @DynamoDBVersionAttribute en un método addConditionCheck. |
Puede utilizar una clase de bean con la anotación @DynamoDbVersionAttribute en un método de compilador addConditionCheck para una solicitud transactWriteItems. |
| Deshabilitar | Para deshabilitar el bloqueo positivo, cambie el valor de enumeración
DynamoDBMapperConfig.SaveBehavior de UPDATE a CLOBBER. |
No utilice la anotación |