MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment spring-data-mongodb gère-t-il exactement les constructeurs lors de la réhydratation des objets?

Le processus de population est double et orthogonal dans une certaine mesure. La plupart du temps, vous avez déjà indiqué le comportement correct. Le constructeur est appelé pour créer une instance d'objet. Les valeurs des paramètres sont récupérées depuis le DBObject lu et peut provoquer une création récursive d'objets au cas où vous remettriez des objets complexes dans le constructeur qui doivent être désorganisés à partir d'un DBObject imbriqué .

L'étape suivante consiste à remplir vos champs persistants. La seule différence dans votre cas par rapport au cas avec un constructeur par défaut est que nous nous souvenons des valeurs de champ que vous avez transmises au constructeur et que nous ne les remplissons pas à nouveau.

La date la propriété dans votre exemple serait toujours définie après l'initialisation dans le constructeur if le document source à partir duquel l'objet est matérialisé contient une valeur pour date .