如何在GreenDao中实现表继承

时间:2012-10-25 13:24:31

标签: android android-sqlite greendao

我一直在尝试创建一个数据库,其中所有表都继承了某个元素,以便有可能拥有元数据。

因为我在模型生成器中添加了这一行的所有表声明:

public Entity addSuperEntity(Schema schema) {
     Entity superEntity = schema.addEntity("superEntity");
     superEntity.addIdProperty().primaryKey();
     // SET RELATIONSHIP 1:m TO META DATA
}

public Entity addTable(Schema schema) {
    Entity mEntity = schema.addEntity("MyEntity");
    mEntity.setSuper("superEntity");
    mEntity.addIdProperty().PrimaryKey();
    // REST OF FIELDS
}

问题是:

现在我将这个生成到我的Android项目之后,我怎样才能确保这在现实生活中仍然存在?我现在需要改变什么吗?

官方文档没有关于继承的任何内容。

1 个答案:

答案 0 :(得分:6)

使用setSuperclass(String)支持非实体超类的继承。另一种方法是使用implementsInterface(String)实现接口。

我在有关继承和接口的新章节中更新了官方文档的一些细节: http://greendao-orm.com/documentation/modelling-entities/