web-dev-qa-db-ja.com

androidでMVVMを使用しながら、Roomで複合キーを作成する方法

部屋で@PrimaryKeyアノテーションを見つけました。複合キーを作成する場合、MVVMでどのように作成できますか?

27
Lalit Kushwah

primaryKeys()を使用します。

Android開発者ドキュメントRoomの状態:

PrimaryKey注釈が埋め込みフィールドで使用される場合、その埋め込みフィールドから継承されたすべての列が複合主キー(その子フィールドを含む)になります。

実装例:

@Entity(primaryKeys = {"column1","column2","column3"})
class DummyClass {
    ...
}

ありがとう ラリット・クシュワ .

44
Sneh Pandya

ここに例があります

import Android.Arch.persistence.room.Entity

@Entity(primaryKeys= [ "first_name", "last_name" ] )
class User{
    .......
}
11
Prakash

これは私のために働いた、私はKotlin 1.3を使用していると思う。

@Entity(tableName = "location_table", primaryKeys = ["lat", "lon"])
    data class MyLocation(
    //    @PrimaryKey(autoGenerate = true) var id: Long?,
        var lat: Double,
        var lon: Double,
        var dateTime: String,
        var weatherDescription: String,
        var temperature: Double
    )
1
Matt Bussing