Android 图书馆中的关系
我想在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
@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重复它
为了更好地理解更新后的概念,我建议您参考此链接