gpt4 book ai didi

java - 如何使用数据存储 api 使用父实体键获取嵌套子实体

转载 作者:行者123 更新时间:2023-11-30 02:35:13 25 4
gpt4 key购买 nike

此处,我使用 Datastore API 来创建、更新和检索实体。

我的用例是,必须获取父实体的子实体和孙实体。

我的实体结构如下:

 Company
--> Employee
--> Address (Multiple Address entities).

这里我有 Company 实体键,我需要获取 Employee 详细信息以及配置给该员工的所有 Address 实体。

示例:

Company --> Aaa
Employee --> John
Address --> California
Address --> Redwood
Employee --> Robert
Address --> New York
Address --> Washington

我的查询如下:

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();

Query query = new Query("Employee").setAncestor(companyKey);
datastore.prepare(query).asList(FetchOptions.Builder.withDefaults());

我所需的结果应该是 John 和 Robert 的员工实体以及各自的 Address 实体。

最佳答案

Appengine 文档说:

公共(public)查询setAncestor(关键祖先)

为此查询设置祖先。这将查询限制为仅返回来自给定实体的后代的结果实体。换句话说,所有结果都将祖先作为其父级,或父级的父级,等等。如果指定 null,则取消设置任何先前设置的祖先。将 null 作为参数传递不会查询没有祖先的实体(目前不支持此类查询)。 ”

所以你的代码应该可以正常工作。它将返回所有以 Aaa 作为祖先的实体,即;员工(父级)和地址(父级的父级)实体。

Documentation Link

关于java - 如何使用数据存储 api 使用父实体键获取嵌套子实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com