首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ActiveAndroid抽象类表

ActiveAndroid抽象类表
EN

Stack Overflow用户
提问于 2015-06-30 19:04:10
回答 1查看 524关注 0票数 17

有没有人知道是否可以在ActiveAndroid中为抽象类创建一个表。例如,我可以有一个抽象类Animal,它有两个具体的类Dog和Cat。我希望能够做这样的事情:

List<Animal> animals = new Select().from(Animals.class).execute();

这将导致“动物”包含所有被保存的猫和狗。或者:

Animal animal = new Select().from(Animals.class).where("name = ?", name).executeSingle();

“动物”可以是猫也可以是狗。不幸的是,当我这样做时,我得到了一个异常,因为没有为抽象类Animal创建表。有谁知道我如何使用ActiveAndroid来做这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-09 02:41:11

不幸的是,ActiveAndroid目前还不支持以这种方式继承模型(https://github.com/pardom/ActiveAndroid/issues/14https://github.com/pardom/ActiveAndroid/issues/257)。

如果你想修改ActiveAndroid,你可以这样做:

  • 创建某种类型的注释,允许您将模型(Animals)定义为非持久化的内容(请参阅尝试为该类执行查询,您可以使用反射来确定该类的子类,然后让它按每个子类执行查询。
  • 然后,您基本上可以获取每个查询的结果列表,并将它们组合到一个列表中,然后返回该列表。

老实说,我从来没有在Android ORM库中看到过继承,我个人认为这不是一个好的模型设计模式。你可能想重新考虑你走这条路的理由。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31136533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档