为什么Room要求您列出实体?

时间:2019-05-31 20:10:41

标签: android-room

只是好奇是否有人知道为什么Room要求您列出每个实体。为什么它不能自动使用@Entity注释找到您的所有实体?

1 个答案:

答案 0 :(得分:2)

由于在一个项目中可以有多个数据库,因此Room需要知道哪个DB使用哪个类。

通过在DB类中声明实体,您实际上是在构建一个层次结构,该层次结构通知编译器使用哪些类从DAO中生成所需的结果。

从理论上讲,您的论点确实有一点,例如在单个DB的情况下,或者在有多个DB但没有重叠的情况下,应该没有问题,但是为了防止重叠,为了清楚起见,他们要求您声明所有内容。