モケラ

Tech Sheets

mokelab

Roomで、Entityを作る

最終更新日:2020-07-10

まずは Entity となるクラスを作ります。Roomはこの情報を元にテーブルを作ります。

@Entity
data class Article(
    @PrimaryKey(autoGenerate = true) val id: Int,
    val title: String,
    val content: String)

まず、クラスに対し @Entity をつけます。次にフィールドを定義していきます。各フィールドがテーブルの列になります。 @PrimaryKey をつけると、その列は主キーになり、 autoGenerate = true をつけると AUTOINCREMENT になります。

上の例のようにフィールドをnon-nullにすると、テーブルでは NOT NULL 制約が付与されます。NULLを許可したい場合は、次のようにnullableにします。

// content列はNULLを許可する
@Entity
data class Article(
    @PrimaryKey(autoGenerate = true) val id: Int,
    val title: String,
    val content: String?)

既存のテーブルをRoomで操作できるようにする場合は注意しましょう。

一覧に戻る