【发布时间】:2020-11-16 11:04:16
【问题描述】:
我在 kotlin 中添加了这个实体并选择 dao 查询到我的项目中
这个实体:
@NonNull @ColumnInfo(name = "namee") val name: String
@NonNull @ColumnInfo(name = "fav") val fav: String
和道:
@Query("SELECT namee FROM my_table WHERE fav = 1")
fun loadFav(): List<Detail_Entity>
当我运行我的项目时,我得到了这个错误:
任务“:app:kaptDebugKotlin”执行失败。
执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生故障
java.lang.reflect.InvocationTargetException(没有错误信息)
当我删除“namee”并将其替换为“”项目工作正常。但是当我像上面那样编写查询时,我得到了这个错误。使用“”的 SELECT 查询工作正常,但使用其他命令(如“SELECT column FROM ...”)将无法正常工作,并且出现此错误。我正在使用“pojo class”并得到同样的错误。
如何正确使用上述 SELECT 查询?
【问题讨论】:
-
尝试将您的查询编辑为
@Query("SELECT namee FROM my_table WHERE fav = '1'")。您应该将字符串常量用单引号括起来。
标签: android kotlin android-room dao