2017-04-19 166 views
1

在顶层(processStatus)文档上工作的Spring审计注释,但不适用于子文档(stepsDetails)。Spring数据审计注释@creationDate&@LastModifiedDate不适用于mongo的子文档@EnableMongoAuditing

@Document(collection = "processStatus") 
    public class ProcessStatus { 
    @Id 
    private ObjectId id;   

    @Field("steps") 
    private Collection<StepDetails> steps; 
    @Version 
    private Long version; 

    @CreatedBy 
    private String createdBy; 

    @CreatedDate 
    private Date createdDate; 

    @LastModifiedDate 
    private Date lastModifiedDate; 

    @LastModifiedBy 
    private String lastModifiedBy; 
    ... //not including getter/setters 

} 

子文档

@Document(collection="stepsDetails") 
    public class StepDetails{ 
    @Id 
    private ObjectId id; 

    @Field("name") 
    private String step; 
    @Field("status") 
    private String status; 

    @Version 
    private Long version; 

    @CreatedDate 
    private Date createdDate; 

    @LastModifiedDate 
    private Date lastModifiedDate; 

} 

我添加上的配置类@EnableMongoAuditing。当我在mongo数据库中插入processStatus文档时,我发现StepDetails中的审计字段未被填充。我需要这个工作,因为各种进程多次更新stepDetails。

这些注释在子文档中是否受支持?任何人都知道我该怎么做到这一点?

回答