Stiamo utilizzando i repository di dati primavera mongo per memorizzare/recuperare i documenti. Di seguito è la struttura delle classi Java abbiamo ottenuto: astratta classe A -> Calcestruzzo classi B e C Stiamo scrivendo i documenti utilizzando il metodo save(). quando un documento viene salvato, viene salvata la variabile "_class" che memorizza classPath. Ora, quando proviamo a interrogare i dati, otteniamo i documenti di entrambe le classi B e C. Di seguito è riportato l'esempio:dati Primavera trovano per valore "_class"
public List<B> findByName (String name);
Quando chiamiamo questo metodo, l'elenco (sorprendentemente) contiene gli oggetti di C pure. Può essere perché B e C hanno una proprietà che ha lo stesso nome. La mia domanda è, se vogliamo limitare il risultato a una classe specifica, è possibile utilizzare il repository Mongo? Abbiamo provato con findBy_Class, findByClass ma ha lanciato un'eccezione dicendo che non era in grado di trovare il membro "class" in "B".
non Qualora il tipo di ritorno (ad esempio Elenco < B>) aiutare il filtraggio degli oggetti? Qualche idea?
Grazie in anticipo.
Grazie per la risposta. Sto usando MongoRepository e non l'oggetto di operazione Mongo. Così, mi limiterò a definire i metodi di interfaccia e di questi metodi sarà trasformata in query come spiegato in questo URL: http://docs.spring.io/spring-data/data-document/docs/current/reference/html/ # repositories.query-methods.query-lookup-strategie. Non so se c'è un modo per specificare la classe qui. –