web-dev-qa-db-fra.com

comment utiliser la clé étrangère dans la bibliothèque de persistance de salle

Je travaille avec la bibliothèque de persistance de pièce dans Android, j'apprécierais si quelqu'un peut m'aider à utiliser une clé étrangère, comment obtenir des données en utilisant une clé étrangère.

13
Nirmal Prajapat

Il y a un joli tutoriel que j'ai utilisé:

https://medium.com/@tonyowen/room-entity-annotations-379150e1ca82

il donne également des informations sur: @embeded, @ignore,@ColumnInfo

Lorsque nous utilisons une clé étrangère, n'oubliez pas de mettre onDelete = ForeignKey.CASCADE de cette façon, si vous supprimez une donnée, elle supprimera également la dépendance. De cette façon, vous n'aurez pas de fausses données ou des données qui ne sont jamais utilisées

7

Juste pour résumer les articles ci-dessus pour les futurs lecteurs:

La syntaxe de clé étrangère dans Kotlin est

@Entity(foreignKeys = arrayOf(ForeignKey(entity = ParentClass::class,
                    parentColumns = arrayOf("parentClassColumn"),
                    childColumns = arrayOf("childClassColumn"),
                    onDelete = ForeignKey.CASCADE)))

La syntaxe de la clé étrangère dans Java est:

@Entity(foreignKeys = @ForeignKey(entity = ParentClass.class,
    parentColumns = "parentClassColumn",
    childColumns = "childClassColumn",
    onDelete = ForeignKey.CASCADE))

Vous pouvez vous référer à la documentation officielle pour plus d'informations. https://developer.Android.com/reference/Android/Arch/persistence/room/ForeignKey.html

5
rmutalik