2017-04-19 170 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。

這些註釋在子文檔中是否受支持?任何人都知道我該怎麼做到這一點?

回答