Android 图书馆中的关系

Android 图书馆中的关系,android,android-room,pojo,Android,Android Room,Pojo,我想在Android项目中使用@Relation注释。我找到了关于该主题的描述: @Entity public class User { @PrimaryKey public int id; // User id } @Entity public class Pet { @PrimaryKey public int id; // Pet id public int userId; // User id public String nam

我想在Android项目中使用
@Relation
注释。我找到了关于该主题的描述:

@Entity
public class User {
    @PrimaryKey
    public int id; // User id
}


@Entity
public class Pet {
    @PrimaryKey
    public int id;     // Pet id
    public int userId; // User id
    public String name;
}

public class UserWithPets {
   @Embedded
   public User user;

   @Relation(parentColumn = "id", entityColumn = "userId", entity = Pet.class)
   public List<Pet> pets;
}
@实体
公共类用户{
@主键
public int id;//用户id
}
@实体
公营宠物{
@主键
public int id;//宠物id
public int userId;//用户id
公共字符串名称;
}
公共类UserWithPets{
@嵌入
公共用户;
@关系(parentColumn=“id”,entityColumn=“userId”,entity=Pet.class)
公开宠物名单;
}
我的问题是:
parentColumn
参数是
id
。但是它是哪个
id
?是
User
id
还是
Pet
id
?在文档中指出,
parentColumn()
是父POJO中的一个引用列。但是哪一个是父POJO?

在这个场景中,将在hood下创建一个关系表,其中User列是父项,Pet列是子项。它们之间的链接由用户id完成,该id在Pet中也作为用户id出现

Room在这里说的是:——“给我所有的宠物,它们的用户id与用户实体的当前id匹配”,然后它对用户实体的所有id重复它

为了更好地理解更新后的概念,我建议您参考此链接