【发布时间】:2015-03-25 16:03:40
【问题描述】:
我是 GAE 和数据存储的新手。我正在尝试使用 Objectify-version 5 来访问数据存储。我对使用 Objectify 跨实体维护关系的方式感到非常困惑。为了基本理解,我无法将关系模式的概念映射到 Objectify 框架。在关系数据库(如 PK/FK 的东西)中,它更容易获得。我发现很难理解与 Objectify 的关系(1-many,many-many)。我阅读了 objectify doc here,仍然没有理解,还不清楚。例如,我有一个 objectify Entity-Manager,另一个实体 - 员工。我想保持经理与员工之间的一对多关系。问题是 -
- 如何在员工实体中放置经理实体的引用(如 RDBMS 中的外键)。
- 设置参考后,如何让所有员工为 A 经理工作?
- 如何为这些实体实现多对多关系。
【问题讨论】:
-
Objectify 不会改变您管理实体关系的方式,因此您可能应该阅读 Datastore docs 以熟悉这些概念,然后再阅读有关 Objectify 的内容。
1:n或n:n关系通常使用索引的Key属性或List<Key>属性来实现,具体取决于您的要求。 -
谢谢你,你能给我一个多实体持久性的例子吗,我的意思是我如何在 Employee 实体中获取 Manager 实体引用,同时插入一个为他工作的 Employee,假设 Manager:employee =一个:很多。在持久化Employee实体之前,ofy().save().entity(emp).now();如何获得经理参考。谢谢你。
标签: google-app-engine google-cloud-datastore objectify