【Android】Roomの主キーを複数設定する方法

【Android】Roomの主キーを複数設定する方法

KotlinでのAndroid開発でRoomの主キーを複数設定する方法について紹介します。

Roomで複合主キーを設定する

RoomAndroid Jetpackの一部であり、SQLiteを簡単に扱うためのライブラリです。

データベースのテーブルはEntityで定義します。

ここで、複合主キーを設定したい場合、@Entityアノテーションの引数で、primaryKeys = []に設定します。

Entity.㏏
 1import androidx.room.ColumnInfo
 2import androidx.room.Entity
 3
 4@Entity(tableName = "table", primaryKeys = ["main_id", "sub_id"])
 5data class Entity(
 6    @ColumnInfo(name = "main_id")
 7    val mainId: Int,
 8    @ColumnInfo(name = "sub_id")
 9    val subId: Int,
10    val name: String
11)

上のようにすることで、main_idsub_idを主キーに設定できます。


今回はRoomの主キーを複数設定する方法について紹介しました。以上で記事を終わりにします。

参考文献