【发布时间】:2019-05-07 18:15:48
【问题描述】:
我有这些课程:
@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 的字段,因为它不接受嵌入式列表...
【问题讨论】:
-
这个问题的答案似乎不起作用......我不能@Embedded a List。如果我使用连接查询执行此操作,我会收到错误“查询返回一些不被...使用的列 [...]”
标签: java android android-room