繁体   English   中英

Spring Data MongoDB:如何实现“实体关系”?

[英]Spring Data MongoDB: how to implement "entity relationships"?

这个问题的标题很矛盾,因为我试图在非关系数据库中实现关系...... :)

但我的意思是如何在使用 MongoDB 的应用程序模型类中定义实体之间的关联

使用 JPA 我经常使用@ManyToMany@OneToMany注释来定义对象之间的关系。 Spring Data MongoDB 中有类似的东西吗?

学习 MongoDB 我意识到有两种可能的关联方法: ReferencesEmbedded Data

Spring Data 使用哪一个? 是否可以配置关联模式?

您可以使用@DBRef批注将引用的类持久保存在单独的集合中,否则文档将保留在同一文档(json)中。 使用DBRef需要对mongodb驱动程序进行额外查询,您应该考虑这个来分析性能问题。

spring数据文档

@DBRef - 在字段中应用以指示使用com.mongodb.DBRef存储它。

7.3.4使用DBRefs映射框架不必存储嵌入在文档中的子对象。 您也可以单独存储它们并使用DBRef来引用该文档。 当从MongoDB加载对象时,将急切地解析这些引用,并且您将获得一个映射对象,该对象看起来与嵌入在主文档中的对象相同。

您可以使用RelMongo框架,它允许通过提供@OneToMany和@OneToOne注释支持来实现关系。

如果您的关系不基于dbref ,则可以使用@DocumentReference

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM