本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 Java 的 SDK 第 1 版和第 2 版之間的樂觀鎖定差異
V1 和 V2 都實作樂觀鎖定搭配屬性註釋,在您的 Bean 類別上標記一個屬性來存放版本號碼。
V1 | V2 | |
---|---|---|
Bean 類別註釋 | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute (請注意,V2 使用小寫 "b") |
初始儲存 | 版本編號屬性設定為 1。 |
使用 設定的版本屬性的起始值 |
更新 | 如果條件式檢查確認要更新的物件版本編號符合資料庫中的編號,則版本編號屬性會遞增 1。 |
如果條件式檢查驗證要更新的物件版本編號符合資料庫中的編號,則版本編號屬性會遞增。 使用 設定 |
Delete | DynamoDBMapper 新增條件式檢查,確認要刪除之物件的版本編號符合資料庫中的版本編號。 |
V2 不會自動新增刪除操作的條件。如果您想要控制刪除行為,則必須手動新增條件表達式。 在下列範例中,
|
具有條件檢查的交易寫入 | 您無法在 addConditionCheck 方法@DynamoDBVersionAttribute 中使用以 標註的 Bean 類別。 |
您可以在transactWriteItems 請求的addConditionCheck 建置器方法中使用具有 @DynamoDbVersionAttribute 註釋的 Bean 類別。 |
停用 | 透過將 DynamoDBMapperConfig.SaveBehavior 列舉值從 變更為 UPDATE 來停用樂觀鎖定CLOBBER 。 |
請勿使用 |