ルーム永続ライブラリで複合主キーを使用しながら主キーを自動増分するにはどうすればいいですか? 質問する

ルーム永続ライブラリで複合主キーを使用しながら主キーを自動増分するにはどうすればいいですか? 質問する

私は 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;
}

おすすめ記事