【发布时间】:2018-10-04 14:37:52
【问题描述】:
我知道,如果我将@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
}
上述解决方案不起作用。有什么方法可以实现吗? 提前致谢。
【问题讨论】:
标签: java rest spring-data spring-data-mongodb spring-data-rest