5

目前,我有一些抽象模型类,它们对其他具体模型具有共同的行为。例如,抽象的 SearchableModel.class 可能会被其他具体模型继承。

使用 Objectify 时,我想注释 SearchableModel 类,因为它需要它自己的字段的持久性。但是,我对执行任何类型的多态查询不感兴趣,并且我不希望数据存储区中有任何类型的“SearchableModel”实体,只需要从 SearchableModel 继承的具体类的类型。我应该如何处理 @Entity/@EntitySubClass 注释?

如果我用@Entity 注释抽象类和具体类,并持久化/加载具体类的实例,它会按预期工作吗?

我知道我可以自己测试它,但是,我还没有设置 objectify。我仍在试图弄清楚它如何与我当前的模型一起使用。

关于如何组织这种依赖的任何其他建议也值得赞赏。

谢谢你。

4

1 回答 1

5
  • 不要使用@EntitySubclass。
  • 请从您的 SearchableModel 扩展。
  • 请务必将 @Entity 放在您的(顶级)具体类上。

这会给你想要的。您可以将公共字段(带有 Objectify 注释,包括 @Id/@Parent)和行为放在基类中。不会有任何数据存储多态性,每个 @Entity 都有自己的数据存储类型。

于 2013-02-20T00:46:25.010 回答