如何在 Spring 数据 JPA 中覆盖@CreatedDate

问题描述 投票:0回答:1

我有两个 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;
    
}
java mongodb spring-boot spring-data jodatime
1个回答
0
投票

您应该创建一个

EntityListener
并用
FooHistory
注释
@EntityListeners
EntityListener
应该实现检索所有
FooHistory
文档并递归更新
foo.CreatedOn
的逻辑。真正的可行性取决于
FooHistory
集合大小。

© www.soinside.com 2019 - 2024. All rights reserved.