私は Room 永続ライブラリを使用しています。1 つのテーブルに 2 つの主キーを追加する必要があり、そのうちの 1 つは自動増分にする必要があります。これを実現するための正確な構文はわかりません。以下は私のモデル クラスです。
@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」を自動増分するようにしたいのですが、どうすればいいでしょうか?
ベストアンサー1
この問題を回避する別の方法を見つけました。いくつかの R&D を経て得た知識によれば、複合主キーに自動増分プロパティを設定することはできないからです。Room には今のところ直接的な UNIQUE 制約がないため、ここではインデックスと 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;
}