【问题标题】:Representation of multiple jsonarray inside jsonobject using Room persistence library使用 Room 持久性库在 jsonobject 中表示多个 jsonarray
【发布时间】:2017-11-03 09:22:39
【问题描述】:

实际上,我很清楚如何将内部 jsonArray 与 Room 持久性库一起使用。 POJO类如下:

@Entity(tableName = "customer")
public class CustomerResponseModel {
    @PrimaryKey
    @ColumnInfo(name = "version")
    @SerializedName("version")
    private int version;
    @ColumnInfo(name = "sync_date")
    @SerializedName("sync_date")
    private long syncDate;
    @Relation(parentColumn = "version", entityColumn = "customerId", entity = CustomerList.class)
    private List<CustomerList> customerList;
}

@Entity
public class CustomerList {
    @PrimaryKey
    @SerializedName("customer_id")
    private String customerId;
    @SerializedName("customer_type")
    private String customerType;
    @SerializedName("customer_name")
    private String customerName;
    @SerializedName("customer_addresses")
    @Relation(parentColumn = "customerId", entityColumn = "id", entity = CustomerAddress.class)
    private List<CustomerAddress> customerAddresses;
}

@Entity
public class CustomerAddress {
    @PrimaryKey(autoGenerate = true)
    private int id;
    @SerializedName("address")
    private String address;
    @SerializedName("contact")
    private String contact;
}

Error:(15, 8) 错误:实体不能有关系。

【问题讨论】:

标签: android-room


【解决方案1】:

出现问题是因为 CustomerList 类是一个 @Entity 并且您在其中使用了 @Relation 注释。如果您要从该类中删除 @Entity,问题应该会消失。

查看here的官方文档

注意@Relation 注解只能在 Pojo 类中使用,Entity 类不能有关系。

【讨论】:

    猜你喜欢
    • 2019-04-25
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    相关资源
    最近更新 更多