Le *_*ong 8 android android-room
在 Room 中,我们可以使用基本数据类型从 DAO 进行查询,如下所示
@Query("SELECT * FROM Table WHERE name=:name)
fun fetchAll(name: String)
Run Code Online (Sandbox Code Playgroud)
是否可以像下面这样传递和对象并使用其属性
@Query("SELECT * FROM Table WHERE name=:object.name)
fun fetchAll(object: ClassA)
Run Code Online (Sandbox Code Playgroud)
我找不到任何地方说明如何做到这一点,所以我不确定是否可能以及如何做到这一点。当我在Android Studio中尝试时,它显示错误
小智 0
到目前为止,我认为无法将对象作为参数传递,但您可以使用@RawQuery
在DAO中你可以写
@RawQuery
LiveData<ClassA> loadFromUser(SupportSQLiteQuery query);
Run Code Online (Sandbox Code Playgroud)
并创建您的查询并传递给它。
SimpleSQLiteQuery query = new SimpleSQLiteQuery("SELECT * FROM table where id = ?") , new Object[]{object.id})
Run Code Online (Sandbox Code Playgroud)
并将此查询传递给 DAO 方法。
yourDao.loadFromUser(query)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |