我要自动生成
ID //自动,但不是主要
列并设置
productID //主要不是自动
作为主键... 有可能还是我的想法错了...? 如果我的想法是错误的,那么请给我写信... 谢谢
//@PrimaryKey(autoGenerate = true)
@Nullable // I want to autogenerate this "ID" column
private long ID;
@ColumnInfo(name = "pCategorySubID")
@SerializedName("pCategorySubID")
@Expose
private String pCategorySubID;
@PrimaryKey // this is my primary key
@ColumnInfo(name = "ProductID")
@SerializedName("ProductID")
@Expose
@NonNull
private String productID;
答案 0 :(得分:1)
您可以使用 column info 标签中的 index 参数:
例如@ColumnInfo(index = true)
//@PrimaryKey(autoGenerate = true)
@ColumnInfo(index = true) // use this to make it index
@Nullable // I want to autogenerate this "ID" column
private long ID;
@ColumnInfo(name = "pCategorySubID")
@SerializedName("pCategorySubID")
@Expose
private String pCategorySubID;
@PrimaryKey // this is my primary key
@ColumnInfo(name = "ProductID")
@SerializedName("ProductID")
@Expose
@NonNull
private String productID;
答案 1 :(得分:0)
在文档中
每个实体都必须声明一个主键,除非其超类之一 声明一个主键。如果Entity及其超类都定义 一个PrimaryKey,子级的PrimaryKey定义将覆盖 父母的PrimaryKey。
因此必须在每个实体中定义主键。
没有主键是不可能的。
引用here