Spring-Daten mongodb Auditing funktioniert nicht .. (Java config)

10

Ich verwende derzeit Spring-Daten mongodb 1.6.0-RELEASE und ich weiß, dass es Auditing-Funktion hat. ich Setze @EnableMongoAuditing Annotation über meine Konfigurationsklasse. Und meine Bohne ist unten:

%Vor%

Wenn ich diese Bean mit mongoTemplate.save(myBean); speichere, wird das Erstellungsdatum und das Datum der letzten Änderung nicht eingestellt ... Und es hat keine Fehler.

Jede Hilfe wäre willkommen,

Danke.

    
Sercan Ozdemir 04.11.2014, 06:54
quelle

2 Antworten

5

Das eigentliche Problem war die Annotation @Id . Um das Spring-Auditing korrekt zu verwenden, müssen Sie eine ObjectId (Null für neue gespeicherte Objekte) definieren, so wie die Feder @LastModifiedDate und @CreatedDate

entscheidet

Danach habe ich eine Möglichkeit gefunden, benutzerdefinierte Beans in @Id zu verwenden, indem ich Auditable<String,String>

implementiere

Danke an @Felby:

  

Ich habe festgestellt, dass das Feld @Id zum Zeitpunkt des Speicherns () null sein muss.   nur für die @CreatedDate- und @CreatedBy-Annotationen. Das   @LastModifiedDate und @LastModifiedBy Felder unabhängig von   ob das @ Id-Feld initialisiert wurde oder nicht.

    
Sercan Ozdemir 24.06.2015, 05:34
quelle
0

Ich weiß es nicht genau, aber versuche, joda-time zum Klassenpfad hinzuzufügen, um datumsbezogene Audit-Anmerkungen zu verwenden

%Vor%     
prsmax 18.11.2014 09:59
quelle