如何在GreenDao中实现表继承

2024-05-05

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

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

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 项目后,我如何确保这在现实生活中仍然发生?我现在需要改变什么吗?

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


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

我在有关继承和接口的新部分中更新了官方文档,其中包含一些详细信息:http://greendao-orm.com/documentation/modelling-entities/ http://greendao-orm.com/documentation/modelling-entities/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在GreenDao中实现表继承 的相关文章

随机推荐

  • 从现有 MongoDB 创建可视化的工具[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我接手了一个现有 MongoDB 的项目 我想获得现有数据的视觉图像 图表等 显然 MongoDB 与
  • Android USB_DEVICE_ATTACHED 持久权限

    如何让 Android 在每次重新连接 USB 设备时都不再请求权限 我想让它记住 USB 设备的 默认使用 复选标记 这样我就不必每次都向同一设备授予权限 我以编程方式检测 USB 设备 Android 手机 何时连接到我的主机设备 An
  • 如何找到一组值的精确匹配?

    我有一个简单的表来存储师生关系 以显示学生正在上谁的课或老师正在教谁 无论哪种方式 为便于阅读 按老师排序 CREATE TABLE TS RELATIONSHIP Teacher NVARCHAR 10 Student NVARCHAR
  • 求反射角的弧度

    我正在编写一个简单的 Flash 游戏 只是为了学习 Flash 并提高我的数学能力 但我对弧度感到非常困惑 因为这对我来说是新的 到目前为止 我所做的是使用鼠标 单击并释放 使用弧度向该方向射出一个球 现在我想要发生的是 当球撞到墙壁时
  • Node exec 无权执行脚本

    直到最近 它都运行良好 但是当我今天尝试使用它时 它无法正常运行 它返回以下错误 错误 命令失败 bin sh c home pi RPi Computer Power RPi Server routes scripts hash js 1
  • Cordova 3.0,应用程序错误与服务器的连接失败。 (暂停)

    我在尝试加载本地 index html 文件时遇到超时问题 但我不知道如何增加默认的 20 秒超时时间 我见过人们在 droidgap 扩展 onCreate 方法中使用以下几行的帖子 super setIntegerProperty lo
  • 在 Angular 中使用异步管道设置选择元素的选定项目

    角度专家 我试图理解 Angular 中的异步管道 但我陷入了一个基本场景 我在用户界面中有两个选择元素 一个包含帖子 一个包含相关评论 我想将一个帖子 最后一个 设置为显示帖子的选择元素的最初选择的帖子 并且我想使用所选项目来过滤第二个选
  • cmake 找不到 boost 库,因为它查找错误的文件名

    我根据文档在 Windows 8 1 机器上构建了 boost 1 56 库 作为共享库和静态库 他们全部出现在BOOST ROOT stage lib目录 文件名格式如下 boost thread vc120 mt 1 56 dll bo
  • 在 GAE/J 上创建文件并上传到 Google 文档

    是否可以在 GAE J 上创建任何类型的文件并上传到 google 文档 我问过一个类似的问题 https stackoverflow com questions 3996495 uploading a pdf file to google
  • 可与 switch() 一起使用的自定义结构/类型

    我的一个项目有一个值类型 结构 表示视频格式的自定义标识符字符串 在本例中 它将包含内容类型字符串 但这可能会有所不同 我使用了一个结构体 因此它在传递时可以是强类型的 并对初始字符串值执行一些健全性检查 实际的字符串值可以是任何内容并由外
  • 在ReactJS中,如果我们不为useEffect提供依赖数组,是否会导致该函数每次都被调用?

    我看到在ReactJS 文档 https reactjs org docs hooks overview html的依赖数组useEffect fn 是可选的 不提供它应该与提供空数组相同 但是 如果我的代码如下 https codesan
  • boost::serialization 序列化期间内存消耗较高

    正如主题所示 在将大量数据序列化到文件时 我遇到了 boost serialization 的一个小问题 问题在于应用程序序列化部分的内存占用量大约是要序列化的对象内存的 3 到 3 5 倍 值得注意的是 我拥有的数据结构是基类指针和指向该
  • 新的 Angular 项目不包含 e2e 文件夹

    我的系统上已经安装了 Angular 并且大约 7 8 个月前曾短暂使用过它 不久前 我创建了一个新的 Angular 项目 ng new testproject 奇怪的是 e2e 文件夹没有创建 我尝试卸载 CLI 清除缓存并重新安装 A
  • 使用抽象类型的反射从表中获取实体

    好的 我有一个名为 Product 的抽象类 我有 3 个表 分别称为 Items Kits 和 Packages 它们实现了 Product 产品具有公开对象主键的公共属性 也就是说 我有一个传递产品的表格 我想将该产品从新的数据上下文中
  • 读取输入文件的部分内容

    我想读取 C 中的输入文件 其结构 或缺乏 将类似于一系列带有以下内容的行 文字 数字 例如 input1 10 input2 4 set1 1 2 set2 1 e3 我想把这个号码从队列中取出 然后把剩下的扔掉 数字可以是整数或双精度数
  • 如何在 Xamarin Forms 中对列表进行分组?

    我需要将下面的列表以 xamarin 形式与公司名称进行分组并需要在 ListView 中显示 我研究过 ObservableCollection 是可能的 但我不知道该怎么做 任何人都可以帮助实现这一目标吗 List public cla
  • 通过使用计时器(或处理程序)更改 ImageView 中的图像来创建动画

    我想通过更改 ImageView 内的帧来创建一个简单的动画 我不想使用 AnimationDrawable 因为我需要在帧更改或动画停止时接收事件 以便能够向后播放 重新启动等等 我的问题是 尽管 setImageDrawable 被调用
  • 僵局澄清?

    也许对 死锁 还有其他解释 但据我所知 当发生死锁时两个线程各自等待一个资源 另一个 所以两者都无法继续 但我在这里看到了几个答案 它们声称长时间的等待 不互相等待 也是一个僵局 例子 1 https stackoverflow com a
  • powershell有method_missing()吗?

    我一直在研究 powershell 的动态功能 我想知道一些事情 powershell 中是否有类似于 Ruby 的 method missing 的东西 您可以在其中设置 捕获所有方法 来动态处理对对象上不存在的方法的调用 不 不是真的
  • 如何在GreenDao中实现表继承

    我一直在尝试创建一个数据库 其中所有表都继承某个元素 以便有可能拥有元数据 我在模型生成器的所有表声明中添加了这一行 public Entity addSuperEntity Schema schema Entity superEntity