作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于如何在 App Engine 中建立多对多关系模型的问题:
一个Blogentry可以有很多标签,一个标签可以应用于很多博客条目。
我看到了几个场景:
使用一组字符串作为博客条目的属性。
在 Entry 和 Tag 类之间使用无主关系(Entry 类中标签的键集,反之亦然)
使用 1. 但单独维护标签及其权重的数据
任何输入和指针将不胜感激。我认为这是一个很常见的场景,但我还没有看到任何好的解决方案。
最佳答案
与许多其他数据库管理系统一样,App Engine Datastore 本身不支持多对多关系,但可以通过“连接表”解决。但是,由于 App Engine 的查询语言不支持联接,因此在您的应用程序中使用起来会非常痛苦。 Google 的 BigTable 架构实际上不鼓励这样做,因为分布式连接效率不高。
因此,我建议遵循“保持简单愚蠢”的规则;使用最简单的东西。 “Blogentry”对象中的字符串列表听起来相当可靠。即使它很容易出现竞争条件(人们并行更新,覆盖彼此的更改),但您有多少人在编辑同一篇博文?
关于java - 如何在 App Engine 中建模多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747207/
我是一名优秀的程序员,十分优秀!