Je viens de trouver l'annotation @PrimaryKey dans la salle. Donc, si je veux créer une clé composite, comment puis-je le faire dans MVVM?
Utilisez primaryKeys()
.
Android Developer Documentation pour Room
indique:
Si l'annotation PrimaryKey est utilisée sur un champ Embeddedd, toutes les colonnes héritées de ce champ incorporé deviennent la clé primaire composite (y compris ses champs de petits enfants).
Exemple d'implémentation:
@Entity(primaryKeys = {"column1","column2","column3"})
class DummyClass {
...
}
Merci Lalit Kushwah pour l'exemple.
Voici un exemple
import Android.Arch.persistence.room.Entity
@Entity(primaryKeys= [ "first_name", "last_name" ] )
class User{
.......
}
Cela a fonctionné pour moi J'utilise Kotlin 1.3, je pense.
@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
)