У меня есть список сообщений. Каждое сообщение может иметь свои собственные сообщения.
@Entity(tableName = "message_item")
data class MessageEntity(
@PrimaryKey() @ColumnInfo(name = "local_id") val localId: String,
@ColumnInfo(name = "content") val content: String?,
@ColumnInfo(name = "reply_id") val replyId: String?
)
Если я создаю рекурсивный объект, чем получаю StackOverflow
исключение
data class MessageWithReplyRecurciveEntity(
@Embedded val message: MessageEntity,
@Relation(
parentColumn = "reply_id",
entityColumn = "message_id",
entity = MessageEntity::class)
val replyMessage: MessageWithReplyRecurciveEntity?,
@Relation(
parentColumn = "user_id",
entityColumn = "user_id",
entity = MessageEntity::class)
val user: ChatUserEntity
)
Если я создаю промежуточный объект, то мне не хватает отношения с пользователем
data class MessageWithReplyRecurciveEntity(
@Embedded val message: MessageEntity,
@Relation(
parentColumn = "reply_id",
entityColumn = "message_id",
entity = MessageEntity::class)
val replyMessage: MessageWithReplyEntity?,
@Relation(
parentColumn = "user_id",
entityColumn = "user_id",
entity = MessageEntity::class)
val user: ChatUserEntity
)
data class MessageWithReplyEntity(
@Embedded val message: MessageEntity,
@Relation(
parentColumn = "reply_id",
entityColumn = "message_id",
entity = MessageEntity::class)
val replyMessage: MessageEntity?
)
Как правильно обращаться с таким делом?