因此,我有两个表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>
是什么意思
发布于 2018-05-28 20:00:59
在本例中,使用joins查询并创建一个公共的pojo类来提供这两个细节。然后像下面这样进行查询..
@Query("SELECT * FROM Student s LEFT JOIN BookIssue b ON s.StudentId =b.StudentId")
List<JoinData> getJoinData();
您还可以实现inner和others,但只需创建一个pojo即可同时提供这两个表记录。
还有另一种方法,首先找到城市,然后进行循环,根据城市名称找到街道,然后获取街道数据。
https://stackoverflow.com/questions/50565624
复制相似问题