2016-09-19 3 views
0

Wenn ich versuche, @Document mit CrudRepository persistent zu machen, werden alle Nullfelder im Objekt nicht in die Datenbank geschrieben.Nullwerte nicht beibehalten auf Couchbase mit Spring-Daten-couchbase

Beispiel (Object obj):

{ 
    "field1": { 
     "field11": 123 
    }, 
    "field2": null, 
    "field3": "abc" 
} 

objRepo.save(obj), field2 nicht zu Couchbase geschrieben werden.

Gibt es eine Möglichkeit, das Verhalten von Federspeicher zu überschreiben, um Nullen zu sparen? Muss ich meine eigene MappingCouchbaseConverter erstellen oder vielleicht mit der TranslationService?

Antwort

1

Es gibt keine Unterstützung für das Speichern der Nullen explizit jetzt, so dass Sie möglicherweise mit MappingCouchbaseConverter basteln müssen. Ich denke, eine der writeInternal Methoden zu ändern wäre ein guter Anfang: etwas wie writeSimpleInternal(null, target, prop.getFieldName()); für den Nullfall zu tun ...

+0

Wenn Sie es vernünftig konfigurierbar machen, wäre das ein guter Kandidat für eine PR :) –

+0

Vielen Dank Sie für die Information, ich werde sehen, was kann ich mir vorstellen. Wenn es Ihnen nichts ausmacht, überprüfen Sie bitte meine andere Frage: http://stackoverflow.com/questions/39571003/id-and-field-on-same-variable – prettyvoid