ルーム永続ライブラリを使用しています。 1つのテーブルに2つのプライマリキーを追加する必要があり、プライマリキーの1つは自動インクリメントである必要があります。これを実現するための正確な構文はわかりません。以下は私のModelクラスです。
@Entity(tableName = "newsPapers", primaryKeys =
{"news_paper_id","news_paper_name"})
public class SelectNewsModel {
private int news_paper_id;
@ColumnInfo(name = "image_url")
private String imageUrl;
@ColumnInfo(name = "news_paper_name")
private String newsPaperName;
}
「news_paper_id」を自動インクリメントしたいです。どうすればできますか?
この問題を回避する別の方法を見つけました。R&D後の私の知識では、複合プライマリキーに自動インクリメントプロパティを設定できないためです。そのため、ここまでは部屋に直接UNIQUE制約がないため、ここではインデックスと一意の制約を使用しました。以下は私の作業コードです:
@Entity(tableName = "newsPapers", indices = {@Index(value =
{"news_paper_name"}, unique = true)})
public class SelectNewsModel {
@PrimaryKey(autoGenerate = true)
private int news_paper_id;
@ColumnInfo(name = "image_url")
private String imageUrl;
@ColumnInfo(name = "news_paper_name")
private String newsPaperName;
}