有没有办法定义一个实体层次结构,可以只查询特定的子类?考虑下面的情况。让我们有一个抽象的基类,它定义了公共属性和具体的子类 A 和 B。
class abstract Base {
...
}
class A extends Base {
...
}
class B extends Base {
...
}
我想运行如下示例查询。
检索类型 A 和 B 的所有实体
Base base = this.objectify.load().type(Base.class).list();
检索所有类型 A 的实体
Base base = this.objectify.load().type(A.class).list();
检索所有类型 B 的实体
Base base = this.objectify.load().type(B.class).list();
此外,我们希望将所有此类实体作为单一类型(基本实体)存储在 GAE 数据存储中。
我们尝试使用此处描述的相关实体类的多态层次结构:
https://code.google.com/p/objectify-appengine/wiki/Entities#Polymorphism
但这似乎无法处理具有共同父级的多个实体子类的情况。