Как использовать внешний ключ в библиотеке сохранения номеров

Я работаю с библиотекой настойчивости в android, я был бы признателен, если кто-то может помочь мне в использовании внешнего ключа, как получить данные с помощью внешнего ключа.

Ответ 1

Есть хороший урок, который я использовал:

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

он также дает информацию о: @embeded, @ignore,@ColumnInfo

Когда мы используем внешний ключ, не забудьте поставить onDelete = ForeignKey.CASCADE таким образом, если вы удалите данные, это также приведет к удалению зависимости. Таким образом, у вас не будет ложных данных или данных, которые никогда не используются

Ответ 2

Просто подведу итог вышеприведенным постам для будущих читателей:

Синтаксис внешнего ключа в Kotlin

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

Синтаксис внешнего ключа в Java:

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

Вы можете обратиться к официальной документации для получения дополнительной информации. https://developer.android.com/reference/android/arch/persistence/room/ForeignKey.html