Il titolo di questa interrogazione è abbastanza contraddittoria dal momento che sto cercando di implementare le relazioni in un database non relazionale ... :)Spring Data MongoDB: come implementare "relazioni di entità"?
Ma quello che voglio dire è come definire associazioni tra entità nelle classi modello di applicazione lavorando con MongoDB.
Utilizzo di JPA Uso spesso le annotazioni @ManyToMany
o @OneToMany
per definire le relazioni tra gli oggetti. C'è qualcosa di simile in Spring Data MongoDB?
Studiare MongoDB ho capito che ci sono due possibili approcci per l'associazione: Riferimenti e embedded dati.
Quale viene utilizzato da Spring Data? È possibile configurare la modalità di associazione?
Fare attenzione con @DBRef. Non sarà possibile utilizzare le proiezioni per i documenti di riferimento. Cioè 'docA = {id: 1, anotherDoc: DBRef (id: 2)}' e 'docB = {id: 2, foo: bar}'. Ora puoi usare una proiezione quando esegui una query per 'docA', ma non mi applicherò a' docB'. Quello che voglio dire è che tu ** non puoi ** fare qualcosa come questa proiezione '{anotherDoc.foo:0}'. Prenderà sempre l'intero 'docB'. –