我正在尝试使用spring-data-rest
spring-data-mongo
,而且很多东西都开箱即用,包括支持eTag
字段。
@EnableMongoAuditing
注释非常有效,在创建文档时,@CreatedDate
和@LastModifiedDate
字段已设置。
问题是在更新期间@CreatedDate
字段被设置为null。我发现了一个未解决的问题Mongo Auditing:@CreatedDate field gets set to null on updates with Spring Data Rest以及使用@JsonIgnore
注释的建议解决方法,这对我不起作用。
几年前还有一个similar question没有解决方案。
我正在使用spring-data-mongo的版本1.10.1RELEASE和spring-data-rest的2.6.1Release
这个问题有解决方案吗?
答案 0 :(得分:0)
创建日期仅适用于不可变实体(您不会更新)
如果实体是可更新的,则只想使用最后修改
对于任何其他情况,可能有意义使用一些历史试听日志..
@Entity
// ...
public class MyEntity {
// ...
@CreatedDate
private LocalDateTime createdAt; // modifiedAt
@PreUpdate
public void fixSpringDataRestNullDate() {
createdAt = LocalDateTime.now();
}
}