0

对于我正在制作的项目,我正在使用 Objectify 和 Google AppEngine

我引用了来自Google Groups的旧消息,但我遇到的问题是一样的:

这是我要解决的问题:我想将一个超类的多个子类的实例保存到数据存储区,然后通过查询该超类来检索它们。

(例如,对Game的查询将返回ChessBackgammon的实例)。

有没有办法使用 Objectify 来完成这个?

因为我想要的东西是一样的,但是这个话题还没有提供答案(它已经 3 岁了),我带着同样的问题搬到了这里。

作为配置,我在 Objectify 上使用了多态性。我有一个用“@Entity”注释的类“Game”和两个类(“Chess”和“Backgammon”),它们扩展了Game,用“@Subclass”注释。

如果我查询“游戏”,我会得到 2 个游戏实例。但我想获得国际象棋和双陆棋实例

从2010年到现在,这个问题已经解决了吗?

谢谢再见

4

2 回答 2

1

如果你使用了objectify 的多态性,那就不简单了:只查询父类。

注意:objectify 中的多态性是通过在实体中添加特殊的隐藏字段(^d^i)来实现的,以标记子类的类型。因此,所有具有相同父类的对象都将具有相同的实体类型(由父类上的@Entity 定义)。

于 2013-11-11T11:00:03.460 回答
0

该 google 组链接是古老的,并且早于 Objectify 中多态性的实现。是的,Objectify(很长一段时间以来)支持带有 @EntitySubclass 注释的多态性。

彼得的回答是正确的。如果您没有看到预期的行为,那么您做错了什么,需要在问题中更详细地阐述或(更好地)发布到 objectify google 组。

于 2013-11-11T20:03:56.040 回答