DynamoDB中一般使用乐观锁,如下代码,其中version为版本号,如果发现有跳过版本覆盖情况,则抛出异常
@DynamoDBVersionAttribute public Long getVersion() { return version; }
public void setVersion(Long version) { this.version = version;}
但是如果在使用mapper时,传入CLOBBER配置,则可以无视乐观锁,直接覆盖,这种情况有可能会在无意中覆盖别人的代码
mapper.save(obj, new DynamoDBMapperConfig(DynamoDBMapperConfig.SaveBehavior.CLOBBER));
正常为UPDATE
网友评论