#android #kotlin #android-room
#Android #kotlin #android-комната
Вопрос:
Я должен создать эту связь в room, но я не знаю, как это сделать.
Я создал все таблицы, но я не знаю, как создать двойное отношение между «notification» и «user_access_to_company»
Ответ №1:
Похоже, что в user_access_to_company
таблице у вас есть составной первичный ключ (т. Е. первичный ключ состоит из более чем одного поля).
Что касается notification
таблицы, похоже, что она включает в себя составной внешний ключ.
Библиотека комнат поддерживает оба типа составных ключей:
@Entity(primaryKeys = ["firstName", "lastName"]) // <-- Composite primary key
data class UserAccessToCompany(
val user_idUser: Int,
val company_idcompany: Int
)
@Entity(foreignKeys = [ForeignKey(
entity = UserAccessToCompany::class,
parentColumns = arrayOf("user_idUser", "company_idcompany"),
childColumns = arrayOf("user_access_to_company_idUser", "user_access_to_company_idcompany"))
]) // <-- Composite primary key
data class Notification(
@PrimaryKey val idNotification: Int,
// ...............
val user_access_to_company_idUser: Int,
val user_access_to_company_idcompany: Int
)