房间 (AAC):[SQLITE_ERROR] SQL 错误或缺少数据库("group" 附近:语法错误)

Room (AAC): [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)

我的 Android 应用中没有构建 Following Dao:

@Dao
interface GroupDao {

    @Insert
    fun insert(group: Group)

    @Query("SELECT * FROM group")
    fun loadAll(): LiveData<List<Group>>
}

当我在 Android Studio 3 中构建项目时,在 gradle 构建步骤中出现以下错误:

:app:kaptDebugKotlin

e: C:\workspaces\SystemicConsensusKotlin\app\build\tmp\kapt3\stubs\debug\de\maxdobler\systemicconsensus\group\GroupDao.java:13: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)

e: public abstract android.arch.lifecycle.LiveData> loadAll();

如果我删除 loadAll 函数,一切都会正常运行... 这个函数有什么问题?

GROUP 是一个 reserved keyword in SQLite。您不能命名 table(或任何其他名称)GROUP。使用 @Entity 注释上的 tableName 属性 将 table 重命名为其他名称,然后在 @Query 中使用该 table 名称。