73 votes

Comment créer une clé composite dans Room tout en utilisant MVVM dans Android

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?

135voto

Sneh Pandya Points 4033

Faire usage de l' primaryKeys().

Développeur Android Documentation pour Room membres de:

Si PrimaryKey annotation est utilisée sur un Embeddedd champ, toutes les colonnes hérité de cette intégration de champ devient la clé primaire composite (y compris ses petits-enfants les champs).

Exemple de mise en œuvre:

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

Grâce Lalit Kushwah pour l'exemple.

33voto

nag prakash Points 145

Voici un exemple

 import android.arch.persistence.room.Entity

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

9voto

Matt Bussing Points 56

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
    )
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X