您好我想使用Sugar ORM 继承。
我的课程:
SELECT `book`, `chapter`, `verse`, `text`
from `bible`
WHERE version = 'kjv'
AND book = 1
AND chapter >= 1
AND chapter <= 2
SELECT `book`, `chapter`, `verse`, `text`
from `bible`
WHERE version = 'kjv'
AND book = 1
AND chapter = 3
AND verse <= 10
和
public class Building extends SugarRecord<Building> {
protected String name;
}
当我保存一些厨房并列出它们时,我只能查询厨房AS厨房,但不能查询AS建筑物。
我能以某种方式解决这个问题,或者糖ORM没有这个功能吗?
日志记录:
public class Kitchen extends Building{
int value =1;
}
输出:
List<Building> buildingsList = Building.listAll(Building.class);
for (Building buidling : buildingsList) {
Log.i("Buildings: ", buidling.toString());
}
List<Kitchen> kitchenList = Kitchen.listAll(Kitchen.class);
for (Kitchen kitchen : kitchenList) {
Log.i("Kitchens: ", kitchen.toString());
}
答案 0 :(得分:2)
表名与类相同,因此您无法查询Building in Building或反之亦然。我建议你在Kitchen Class上使用@Table注释为Kitchen创建一个表,并确保你有一个表的私有长id变量(如果你使用@Table注释就满足一个条件) 希望它有所帮助!
答案 1 :(得分:1)
为什么要尝试在厨房中继承父类?你想把厨房与建筑联系起来吗?如果是这种情况,您可以使用内置关系中的糖:
public class Building extends SugarRecord<Building> {
protected String name;
Kitchens kitchen;
}
这将允许您将厨房与建筑物联系起来。
答案 2 :(得分:1)
Sugar ORM不支持用于创建表序列的继承。扩展SugarRecord是使用Sugar ORM创建表的唯一方法。 厨房不会被Sqlite视为一张桌子,查询它确实没什么意义。 建议:尝试使您的代码适合扩展SugarRecord或搜索其他ORM。