室-为什么在@ForeignKey上使用@Relation?

时间:2019-04-24 13:55:57

标签: android android-sqlite android-room

我目前的目标是在数据中建立一对多关系。

从各种教程中,我逐渐了解到,我有两种主要的实现方法。

  1. 创建两个实体,并让子级使用@ForeignKey批注

  2. 创建这两个实体一个额外的POJO,该POJO使用@Embedded作为父实体,并使用@Relation来列出与父实体相关联的子代列表< / p>

因此,使用Relation似乎很费力。还是我想念什么?
Relation的最大优点是:

  

从查询中返回Pojo时,Room还将获取其所有关系。

使用第一种方法哪一个不那么容易?

2 个答案:

答案 0 :(得分:1)

使用@relation时,它可以帮助DBMS(数据库管理系统)创建用于排序和存储数据的树。因此,当您要运行任何查询时,它会非常有帮助。

答案 1 :(得分:0)

从Gautam的评论和进一步的阅读中,我现在这样理解:
@Relation是方便的选项,可简化检索连接的实体的过程。这样做的代价是放弃控制父条目删除以及可能发生的其他事情的能力。