У меня есть эти классы:
@Entity
public class Person {
long id;
String name;
}
@Entity
public class Dog {
long id;
String color;
long idPerson;
}
public class PersonWithDog {
@Embedded
Person person;
@Relation(parentColumn = "id", entityColumn = "idPerson", entity = Dog.class)
List<Dog> dogs;
}
Я хочу сделать запрос, чтобы вернуть человека и список из только черных собак , которыми он владеет.Что-то вроде:
SELECT * FROM Person
LEFT JOIN Dogs ON Person.id = Dogs.idPerson
WHERE Person.id = ? AND Dogs.color = black
Возможно ли это с помощью Room?
** Примечание: если я сделаю POJO следующим образом:
public class PersonWithDog {
@Embedded
Person person;
@Embedded
List<Dog> dogs;
}
и воспользуюсь приведенным выше запросом, Room не узнает, как сопоставить поля List, поскольку не принимает встроенный список ...