Android Room:将嵌套对象的字段包括为列

时间:2018-08-24 15:10:10

标签: android entity-relationship android-room

假设我有一个Patient实体,存储患者ID,一个布尔值和最后一个Person对象。因此,我用@ColumnInfo注释了这些字段以存储在数据库中。

现在Person具有2个字符串字段:名和姓。

但是,在我的patients表中,我希望有一个直接用于名字和姓氏字段的列(来自Person),因此我希望能够调用例如firstName(而不必调用Person.firstName)。我该如何实现?

1 个答案:

答案 0 :(得分:1)

您可以为其使用 @Embedded 注释。

您的情况如下

   public class Person {
       String firstName;
       String lastName;
   }

   public class Patient {
       int patientId;//just an assumption
       @Embedded
       Person person;
   } 

有关更多信息,请检查this 注意:为了简洁起见,我没有提供其他注释,例如 @ColumnInfo