我希望我的dao对象中有这样的方法。
@Query("SELECT c.name, sum(p.value) FROM payments p, paymentCategories c WHERE p.categoryId = c.id GROUP BY c.name")
fun getCategoryStats(): Map<String, Float>
但我遇到了错误
错误: 不确定如何将Cursor转换为此方法的返回类型 public abstract java.util.Map
有可能将其更改为可工作版本吗?
因此,返回类型可以是不同的,但主要条件是
- 数据库中必须仅有一个查询
- 我想避免编写额外代码,例如仅针对此方法创建附加数据结构
Cursor
到Map
的TypeConverter
,并在你的DAO上注册它,尽管我没有尝试过这个特定的场景(转换DAO方法的返回值)。但错误消息表明TypeConverter
可以在这里使用。 - CommonsWare