1

我存储了一个类型为“ContainableObject”的实体,它有一个类型为“Container”的实体作为其属性之一。

class ContainableObject {

    @Persistent
    @Unowned
    private Container container;
    ...

“容器”有一个“建筑”类型的父实体

由于该表实际上存储了一个包含其父键的容器的键(即属性容器是否Key('Building',1,'Container',23)有任何方法可以按照以下方式编写查询select * from ContainableObject where container has ancestor Key('Building', 1)

我知道我可以另外将 Building 存储为 ContainableObject 的直接属性,以便在查询过滤器中使用它,但这是唯一的方法吗?我很确定答案是肯定的,但我想要一些确认,因为它不是一个完整的连接,因为父密钥被埋在那里的某个地方。

注意: ContainableObject 与 Container 位于不同的实体组中,这不是祖先查询,JDO 的 AppEngine 实现无论如何都不支持 AFAIK。

4

1 回答 1

1

不可能有您指定的查询。您需要修改代码结构以实现您的目标。

希望这可以帮助。

于 2012-11-01T11:04:39.243 回答