Можете ли вы поместить встроенные отношения в другие встроенные отношения в комнате Android? - PullRequest
0 голосов
/ 10 декабря 2018

Комната Android позволяет извлекать многозначные связанные сущности в сущность следующим образом:

data class StrokeAndEvents(
    @Embedded
    var stroke: Stroke = Stroke(-1,-1),
    @Relation(
            parentColumn = "id",
            entityColumn = "strokeId",
            entity = Event::class
    )
    var events: List<Event> = listOf()
)

Возвращает объект, имеющий Stroke, и список всех событий, принадлежащих Stroke.

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

Я пробовал это, но он возвращает ошибку:

data class PageAndStrokes(
    @Embedded
    var page: Page = Page(-1,-1, -1),
    @Relation(
            parentColumn = "id",
            entityColumn = "pageId",
            entity = StrokeAndEvents::class
    )
    var strokes: List<StrokeAndEvents> = listOf()
)

Ошибка заключается в следующем: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: StrokeAndEvents)

Есть ли способ заставить его искать другой объект, а не стол?

заранее спасибо !!

Джон

...