如何在房间持久性库中使用嵌套模型?

问题描述 投票:0回答:1

如何将用户表“addressId”列与地址表“id”列相关联?当我插入用户模型数据时,我如何在“用户和地址”两个表中插入数据。和获取数据的情况相同?

地址模型是用户模型的嵌套类。

@Entity(tableName = "user")
public class User {

    @PrimaryKey(autoGenerate = true)
    private Integer localId;

    private Integer id;

    private String name;

    private Integer addressId;

    private Address address;
}

@Entity(tableName = "address")
public class Address {

    @PrimaryKey(autoGenerate = true)
    private Integer localId;

    private Integer id;

    private String address1;

    private String address2;

    private String address3;
}
android android-room android-architecture-components android-jetpack
1个回答
0
投票

https://developer.android.com/training/data-storage/room/referencing-data

基本上你的选择是:

  • 重组以使用不同的表格
  • 使用@Embedded
  • 使用类型转换器将它们保存在某些原始类型中(可能会限制您查询这些数据的能力)
© www.soinside.com 2019 - 2024. All rights reserved.