У меня было отношение 1: N в комнате, которое выглядит следующим образом (типичный владелец: Список отношений):
class NewsFeedAndPersonItem {
@Embedded
lateinit var newsFeedItem: NewsFeedItem
@Relation(
parentColumn = "userId", entityColumn = "id"
)
var listOfPersons: List<Person> = listOf()
fun getPerson() = listOfPersons.firstOrNull()
fun getAvatar() = getPerson()?.photoSmallLink
fun isPost() = newsFeedItem.type == 2
fun NewsFeedAndPerson() {}
fun NewsFeedAndPerson(newsFeedItem: NewsFeedItem, person: List<Person>) {
this.newsFeedItem = newsFeedItem
this.listOfPersons = person
}
}
NewsfeedItem:
@Entity
@TypeConverters(NewsFeedTypeConverters::class)
class NewsFeedItem(
// Common
@PrimaryKey @Json(name = ParserConst.DEFAULT_ID) var id: Int = 0,
@Json(name = ParserConst.USER_ID) var userId: Int = 0,
@Json(name = ParserConst.CREATED_AT) var createdAt: String? = null,
@Json(name = ParserConst.NEWS_FEED_TYPE) var type: Int? = null,
)
лицо:
@Entity
data class Person(
@PrimaryKey var id: Int = 0,
var favourite: Boolean = false,
var online: Boolean = false,
)
Пока все хорошо. Проблема в том, что мне нужно изменить параметр NewsFeed userId: String на список пользовательских идентификаторов (List)
У меня вопрос: все еще можно решить с помощью @Relation или есть какой-нибудь простой альтернативный способ достижения этого?