Сделайте любой столбец autoGenerate (не первичный ключ) в библиотеке постоянства помещения - PullRequest
0 голосов
/ 23 октября 2018

Я хочу автоматически сгенерировать

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;

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вы можете использовать index параметр из столбец info tag:

ex.@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;
0 голосов
/ 23 октября 2018

В документах:

Каждый объект должен объявлять первичный ключ, если один из его суперклассов не объявляет первичный ключ.Если и Entity, и его суперкласс определяют PrimaryKey, определение PrimaryKey дочернего объекта переопределит PrimaryKey родительского элемента.

Таким образом, в каждом объекте должен быть определен первичный ключ.

Без первичногоключ не представляется возможным.

ссылка здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...