Номер сущности зависит от самого себя (аннотация отношения) - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть вопрос о комнате и отношениях. Я знаю, как связать сущность с самим собой (используя foreignkey, но я не могу получить все эти данные со всеми зависимостями и отношениями.

@Entity(tableName = "a",
foreignKeys = [
            ForeignKey(entity = A::class, parentColumns = ["id"], childColumns = ["parent_id"], onDelete = CASCADE)
        ])
data class A(@PrimaryKey val id:Long?, val parentId:Long?)

А теперь я хочу получить все данные (родительские и дочерние), поэтому я создал класс с аннотацией Relation:

data class B(
@Embedded var parent:A?, 
@Relation(entity = "A::class, parentColumn = "id", entityColumn = "parent_id")  var childred: List<B>?
)

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

Вы знаете, как я могу решить это? А может я что-то не так сделал с отношениями?

** Я знаю, что класс A имеет только id и parent_id, но это всего лишь пример. И тот же класс B может иметь другие отношения, такие как класс C, D и т. Д.

...