2016-07-22 37 views
0

我有一個Dynamo表,它通過DynamoDBVersionAttribute使用樂觀鎖定來確保一次只有一個工作者保留一個文檔。但是,當我想清理文檔時,如果我沒有在DynamoDBMapper中設置版本,刪除就會拋出ConditionalCheckFailedException使用版本號樂觀鎖定的表上的強制刪除

在那個時候,我不在乎文件的版本是什麼,我想刪除它,不管它是什麼版本。有沒有辦法強制刪除而不用擔心版本?我想克服這個異常,而不必查詢文檔的Dynamo。

回答

0

除非將版本字段設置爲正確版本,否則無法使用DynamoMapper刪除Dynamo項目;因此,如果您想要在刪除文檔之前避免發出獲取請求,您必須直接在Dynamo客戶端上使用deleteItem方法。

0

您可以通過將SaveBehaviour指定爲CLOBBER而不必擔心版本來刪除該項目。

DynamoDBMapper mapper; 
mapper.delete(object, new DynamoDBMapperConfig(DynamoDBMapperConfig.SaveBehavior.CLOBBER)