Android Комната: вставьте несколько сущностей с отношениями - PullRequest
1 голос
/ 07 февраля 2020

У меня проблема со вставкой в ​​ROOM db, когда у нас есть несколько внутренних отношений, таких как один ко многим A -> B и B -> C. У меня нет проблем, чтобы вставить и получить весь список A, но не для списка B и списка C. Я не нахожу правильно учебник для этих случаев. Pojo и лица:

data class AB(
    @Embedded
    var a: A,
    @Relation(
        parentColumn = "id",
        entity = B::class,
        entityColumn = "aCreatorId"
    )
    var bList: List<B>
)

@Entity
data class A(
    @PrimaryKey(autoGenerate = true)
    var id: Int = 0
) {
    @Ignore
    var bList: List<B>? = listOf()
}

@Entity
data class B(
    @PrimaryKey(autoGenerate = true)
    var id: Int = 0,
    var aCreatorId: Int
) {
    @Ignore
    var cList: List<C>? = listOf()
}

@Entity
data class C(
    @PrimaryKey(autoGenerate = true)
    var id: Int = 0,
    var bCreatorId: Int
)

Как правильно вставить список B и список C и получить его после в объекте A?

...