sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo maneja exactamente spring-data-mongodb los constructores al rehidratar objetos?

El proceso de población es doble y ortogonal hasta cierto punto. En su mayoría, ya ha indicado el comportamiento correcto. El constructor se invoca para crear una instancia de objeto. Los valores de los parámetros se recuperan del DBObject leer y podría causar una creación recursiva de objetos en caso de que entregue objetos complejos al constructor que necesitan ser desarmados de un DBObject anidado .

El siguiente paso es que sus campos persistentes se completen. La única diferencia en su caso con el caso con un constructor predeterminado es que recordamos los valores de campo que entregó al constructor y no los volvemos a llenar.

La date la propiedad en su ejemplo aún se establecería después de la inicialización en el constructor if el documento fuente del que se materializa el objeto contiene un valor para date .