gpt4 book ai didi

java - 如何在Java GAME中按引用属性进行过滤?

转载 作者:行者123 更新时间:2023-12-01 15:00:59 24 4
gpt4 key购买 nike

假设我在 GAE Java 应用程序中有以下(简化的)模型:

Entity project = new Entity("Project")
project.setProperty("name", "test");

Entity task = new Entity("Task");
task.setProperty("name", "test");
task.setProperty("project", project.getKey());

如何获取引用特定项目的所有任务

我已经尝试过

    Query q = new Query("Task");
Query.FilterPredicate projectFilter =
new Query.FilterPredicate("project",
Query.FilterOperator.EQUAL,
project.getKey()
);
q.setFilter(projectFilter);

但是没有效果。我已使用数据存储查看器检查了实际数据,一切都已就位。任务具有项目的正确Key,并且所有属性都已编制索引。

唯一看起来不寻常的是(考虑到我的应用程序支持 Multi-Tenancy ),Project 键作为查看器上的命名空间前缀。

这可能是问题所在吗?有什么解决办法吗?

提前非常感谢。

最佳答案

尝试使用project.getKey().getId()代替,

或使用特殊的键过滤器:Entity.KEY_RESERVED_PROPERTY

此处描述:

https://developers.google.com/appengine/docs/java/datastore/queries#Key_Filters

关于java - 如何在Java GAME中按引用属性进行过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13653206/

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