2017-04-19 2 views
1

Annotation d'audit de printemps fonctionnant sur le document de niveau supérieur (processStatus) mais pas sur le sous-document (stepsDetails).Printemps Annotations d'audit de données @creationDate & @LastModifiedDate ne fonctionne pas avec le sous-document de 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 

} 

Sous-document

@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; 

} 

j'ai ajouté @EnableMongoAuditing sur la classe de configuration. Lorsque j'insère le document processStatus dans le mongo db, j'ai trouvé que les champs d'audit dans les StepDetails ne sont pas remplis. Je dois avoir ce travail parce que divers processus mettent à jour le stepDetails plusieurs fois.

Ces annotations sont supportées dans le sous-document ?? quelqu'un sait comment puis-je y parvenir?

Répondre