База данных комнат Android Ответ с данными из двух разных таблиц - PullRequest
0 голосов
/ 28 мая 2018

Итак, у меня есть две таблицы City и Street. Я написал запрос для возврата City и его улиц с одним ответом на запрос:

1 City1

1 Street1
2 Street2
3 Street3

, и у меня есть класс POJO для этого ответа:

data class CityResponse(var city: City, var streets: List<Street>)

Но я не могу скомпилировать, потому что он выдает ошибку:

error: Cannot figure out how to read this field from cursor private java.util.List<Street> streets

Как я могу написать этот класс данных ответа, чтобы комната могла понять, что я имею в виду с переменной streets: List<Street>

1 Ответ

0 голосов
/ 28 мая 2018

В этом случае используется запрос на соединение и создается один общий класс pojo, который дает обе детали.затем выполните запрос, как показано ниже.

    @Query("SELECT * FROM Student s LEFT JOIN BookIssue b ON s.StudentId =b.StudentId")
List<JoinData> getJoinData();

вы также можете реализовать внутреннее объединение и другие объединения, но сделать одно одиночное pojo, которое даст обе записи таблицы.

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

...