Spring Data MongoDB: comment implémenter des "relations d'entités"?
Le titre de cette question est tout à fait contradictoires depuis que je suis en train de mettre en œuvre des relations dans une base de données non relationnelle... 🙂
Mais ce que je veux dire, c'est comment définir des associations entre les entités en application des classes de modèle de travail avec MongoDB.
De travail avec JPA j'utilise souvent @ManyToMany
ou @OneToMany
annotations pour définir les relations entre les objets. Est-il quelque chose de similaire au Printemps de Données MongoDB?
L'étude de MongoDB, j'ai réalisé qu'il y a deux approches possibles pour l'association: Références et de Données Incorporée.
Dont l'un est utilisé par les Données du Printemps? Est-il possible de configurer le mode association?
source d'informationauteur davioooh
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le @DBRef annotation de persister référencé dans la classe, dans une collection à part, sinon le document sera conservée dans le même document (json).
L'utilisation de DBRef nécessitent une requête supplémentaire pour la mongodb pilote, vous devriez considérer ceci afin d'analyser les problèmes de performance.
De printemps de données de la documentation
@DBRef appliquée au champ pour indiquer qu'il doit être stocké à l'aide de un com.mongodb.DBRef.
7.3.4 À L'Aide De DBRefs
Le framework de mapping n'est pas nécessaire de stocker de l'enfant les objets incorporés dans le document. Vous pouvez également les stocker séparément et l'utilisation d'un DBRef à se reporter à ce document. Lorsque l'objet est chargé de MongoDB, ces références sera très résolu et vous obtiendrez un objet cartographié qui regarde la même chose que si elle avait été stockées intégré à l'intérieur de votre document maître.
Vous pouvez utiliser RelMongo cadre qui permet de mettre en œuvre des relations en fournissant @OneToMany et @OneToOne support des annotations.