目前,我有一些抽象模型类,它们与其他具体模型有共同的行为。例如,抽象的SearchableModel.class可能会被其他具体模型继承。
在使用Objectify时,我想对SearchableModel类进行注释,因为它需要自己字段的持久性。然而,我对做任何类型的多态查询都不感兴趣,我也不希望数据存储中有任何"SearchableModel"类型的实体,只希望有继承自SearchableModel的具体类。我应该如何处理@Entity/@EntitySubClass注释?
如果我用@Entity注释抽象类和具体类,并持久化/加载具体类的实例,它会按预期工作吗?
我知道我可以自己测试,但是,我还没有设置objectify。我仍在努力弄清楚它如何与我目前的型号一起使用。
关于如何组织这种依赖的任何其他建议也值得赞赏。
谢谢。
- 不要使用@EntitySubclass
- 请从您的SearchableModel进行扩展
- 请将@Entity放在(顶级)具体类上
这会给你想要的。您可以在基类中放置公共字段(带有Objectify注释,包括@Id/@Parent)和行为。不会有任何数据存储多态性,每个@Entity都有自己的数据存储类型。