我想对房间数据库执行查询,结果是一个记录列表,这些记录由几个表中的列组成。首先我有一个子查询,然后与另一个表连接。在结果中,我只选择了几列。在此查询中,我使用 3 个表。
当我编译项目时,我收到错误消息:
无法弄清楚如何从游标中读取此字段。私人 org.joda.time.DateTime createdDate; .
错误指向此 DateTime 字段。
这是我的界面:
@Dao
interface SomeObjectDao {
@Query (
SELECT a.Id, a.number, b.CreatedDate as createdDate
FROM (SELECT p.*, q.*
FROM tableP AS p, tableQ AS q
WHERE p.userId = q.userId) AS a, table2 AS b
WHERE a.Id = b.someId AND a.position = b.position)
fun getSummary(): List<SomeObjectSummaryDB>
}
我的 SomeObjectSummaryDB 自定义类如下所示:
class SomeObjectSummaryDB(
var Id: String,
var number: Int,
@TypeConverters(DateTimeConverter::class)
var createdDate: DateTime
)
我已经看到了一些使用 @Embedded 和 @ForeignKey 注释的示例。这是我在这种情况下需要的东西吗?如果是这样,任何人都可以帮助我获取我的对象列表需要什么?
我需要为子查询和整体结果创建模型吗?如果是这样,这些模型会是什么样子?
任何帮助是极大的赞赏!