我有两个 mongo 集合,一个是 Foo 集合,另一个是 FooHistory 集合。 Foohistory 集合是 Foo 集合的精确副本,但每次 Foo 集合中的每次更改都会创建一个新文档。
在Foo集合中,POJO类有一个CreatedOn字段,用@CreatedDate注解。所以每次在 Foohistory 集合中插入一个文档时,它都是用 currentDate 插入的。我的要求是,我想通过利用 @CreatedDate 注释对所有历史记录使用相同的 Foo 集合 CreatedOn 时间,有人可以帮助我吗?
POJO类的结构是
import org.joda.time.LocalDate;
import org.springframework.data.annotation.Id;
public class Foo {
@Id
private String id;
private LocalDate CreatedOn;
}
public class FooHistory {
@Id
private String id;
private Foo foo;
}
您应该创建一个
EntityListener
并用FooHistory
注释@EntityListeners
。 EntityListener
应该实现检索所有 FooHistory
文档并递归更新 foo.CreatedOn
的逻辑。真正的可行性取决于FooHistory
集合大小。