MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie genau behandelt spring-data-mongodb Konstruktoren beim Rehydrieren von Objekten?

Der Populationsprozess ist zweifach und bis zu einem gewissen Grad orthogonal. Meistens haben Sie bereits das richtige Verhalten angegeben. Der Konstruktor wird aufgerufen, um eine Objektinstanz zu erstellen. Die Parameterwerte werden aus dem DBObject abgerufen read und kann eine rekursive Erstellung von Objekten verursachen, falls Sie komplexe Objekte in den Konstruktor übergeben, die aus einem verschachtelten DBObject entpackt werden müssen .

Der nächste Schritt besteht darin, dass Ihre persistenten Felder ausgefüllt werden. Der einzige Unterschied in Ihrem Fall zum Fall mit einem Standardkonstruktor besteht darin, dass wir uns an die Feldwerte erinnern, die Sie an den Konstruktor übergeben haben, und diese nicht erneut ausfüllen.

Das date Eigenschaft in Ihrem Beispiel würde immer noch nach der Initialisierung im Konstruktor if gesetzt werden das Quelldokument, aus dem das Objekt materialisiert wird, enthält einen Wert für date .