java - 使用子字段版本对 Spring 数据进行乐观锁定
问题描述
我知道,如果我将 @Version 注释作为字段直接包含在类中以保持不变,那么乐观锁定开箱即用。但是,我不想更改我的数据模型,我正在尝试下面描述的解决方案。在 Spring Data MongoDB REST 应用程序中,实体的数据模型如下:
@Document
public class Person {
@Id
@JsonProperty(value = "id")
String id;
@JsonProperty(value = "firstName")
String firstName;
@JsonProperty(value = "lastName")
String lastName;
@JsonProperty(value="metadata")
MetaData metaData;
//GETTER AND SETTERS
}
我的目的是注释 MetaData 类的字段版本,以便在 Person 类中使用乐观锁定。
public class MetaData {
@JsonProperty(value = "createdAt")
private String createdAt;
@JsonProperty(value = "createdBy")
private String modifiedAt;
@JsonProperty(value = "createdAt")
private String createdAt;
@JsonProperty(value = "createdBy")
private String modifiedAt;
@JsonProperty(value = "version")
@Version
private Integer version;
//GETTERS AND SETTERS
}
上述解决方案不起作用。有什么方法可以实现吗?提前致谢。
解决方案
您需要确保将WriteConcern
其设置为ACKNOWLEDGED
推荐阅读
- laravel - 如何在另一个类中使用 var?
- android - 在firebase中第二次插入arraylist它是附加的,不是在firebase中,而是在我的recyclerview中
- objective-c - 将 CIContext 定义为 NSObject 属性以重用
- reactjs - 如何从输入字段将对象存储在状态中?
- elixir - Phoenix单元测试如何检查连接对象是否被重定向到特定路径?
- html - 将 div 对齐到容器的底部
- c# - 在 C# 中读取浏览器证书
- html - 当标题属性中断时,有没有办法让 DataTables 进行排序?
- python-3.x - 使用python解压缩gz格式的nifti医学图像
- c++ - 合并排序:分割错误核心转储