Quiero almacenar diferentes datos a una colección en MongoDB y tienen beans de datos de primavera con campo apropiado ..primavera de datos MongoDB para la herencia de clases
Lo siento, he detalles omitidos.
frijol Padres:
class A
int a
Childs:
class B extends A
double b
class C extends A
String c
Por lo tanto, no hay siguiente documento en mongo
{a : 1, b : 2.3, c : "Test"}
Cuando voy a buscar los datos, que está bien. Pero, cuando llamo Guardar método de CrudRepository para B, reescribe todos los datos y pierdo C.
sé sólo una buena opción para crear la costumbre guardar método con actualizaciones incrementales, como
update.set("b", newvalue)...
pero con reflejo.
¿Tiene alguna otra idea?
Gracias de antemano.
¿Te importaría ser un poco más detallado sobre la interacción con 'MongoTemplate' y tu repositorio? ¿Estás leyendo los datos en un objeto de 'B'? Eso debería en realidad devolver un objeto de tipo 'C' ya que deberíamos detectar la información del tipo almacenado. Más allá de eso, la información del mapeo de la colección sería útil. Asegúrese de que todas las clases estén asignadas a la misma colección. –
Hola Oliver, gracias por tu respuesta. Sí, he reemplazado el método 'guardar' de 'MongoTemplate' para usar la consulta de actualización. Ahora cuando guardo 'B', solo actualiza los campos 'B'. Pero trato de encontrar una solución más asombrosa ... –
Si agrega los fragmentos de código relevantes, podemos profundizar un poco más en el tema :) –