【发布时间】:2023-02-08 20:21:15
【问题描述】:
道
@Query("SELECT * FROM t_user ORDER BY :order DESC")
fun pagingSource(order: String): PagingSource<Int, User>
我现在知道sql语句不能把columnName作为参数。但是为什么Room没有报错,还是成功查询到了结果。只不过不是按照id倒序排列,而是顺序排列。
日志打印也是正确的sql语句。
// AppDatabase
Room.databaseBuilder(...).setQueryCallback({ sqlQuery, bindArgs ->
Log.d("Android Room", "SQL Query: $sqlQuery SQL Args: $bindArgs")
},
...
// logcat
SQL Query: SELECT * FROM ( SELECT * FROM t_user ORDER BY ? DESC ) LIMIT 60 OFFSET 0 SQL Args: [id]
你能告诉我 Room 是如何处理这个 sql 语句的吗?
【问题讨论】:
标签: android sqlite android-sqlite android-room