I have list of messages. Each message can have its own messages.
@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?
)
If i create recursiv eobject, than i receive StackOverflow exception
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
)
If i create intermideat object, than i am missing user relation
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?
)
How to properly handle such case?