voglio memorizzare dati diversi per una raccolta in MongoDb e hanno bean di dati di primavera con campo appropriato ..primavera dati MongoDb per la classe eredità
Spiacente, ho dettagli saltati.
Parent di fagioli:
class A
int a
Childs:
class B extends A
double b
class C extends A
String c
Quindi, c'è seguente documento in Mongo
{a : 1, b : 2.3, c : "Test"}
Quando ho recuperare i dati, è ok. Ma, quando chiamo Salva metodo dal CrudRepository per B, riscrive tutti i dati e perdo C.
Io so solo una buona opzione per creare personalizzato metodo Save con aggiornamenti incrementali, come ad esempio
update.set("b", newvalue)...
ma con la riflessione.
Avete altre idee?
Grazie in anticipo.
Ti dispiacerebbe essere un po 'più prolisso sull'interazione con 'MongoTemplate' e il tuo repository? Stai leggendo i dati di nuovo in un oggetto di 'B'? Questo dovrebbe in realtà restituire un oggetto di tipo 'C' come dovremmo rilevare le informazioni sul tipo memorizzato. Oltre a ciò, le informazioni sulla mappatura della raccolta sarebbero utili. Assicurati che tutte le classi siano mappate sulla stessa collezione. –
Ciao Oliver, grazie per la tua risposta. Sì, ho ignorato il metodo 'save' di 'MongoTemplate' per utilizzare la query di aggiornamento. Ora quando salvo 'B', aggiorna solo i campi 'B'. Ma cerco di trovare una soluzione più straordinaria ... –
Se aggiungi gli snippet di codice rilevanti potremmo approfondire un po 'il problema :) –