【发布时间】:2018-04-10 23:54:54
【问题描述】:
假设我有一个对象
class Person {
String firstName;
String lastName;
... other fields...
}
和一个包含
的数据库@Entity
class DatabaseTable {
String firstName;
String lastName;
... other unrelated fields from person...
}
现在在我的道中,我有
@Query("SELECT * FROM DatabaseTable WHERE " +
" firstName = :firstName AND lastName = :lastName")
List<DatabaseTable> getAll(String firstName, String lastName);
我有一个列表,我想从中查询 DatabaseTable。
Person("Apple", "Kohn", ...)
Person("Benny", "Lorie", ...)
Person("Cindy", "May", ...)
...
我将如何有效地提取数据库表?为我列表中的每个人调用 dao 似乎不正确。
编辑:
我想知道如何使用单个查询来检索结果列表。
我知道 Room 在后台使用 ContentValue 循环实体列表。 有没有办法让我们创建自己的 contentValue 来传递给 Room?
是否可能出现以下情况?
getAllWithPairs( List<String> firstNames, List<String> lastNames);
【问题讨论】:
-
我认为你应该更清楚你在问什么。是查询不起作用还是您正在寻找优化的代码?
-
@PankajKumar,我想知道是否可以使用单个查询来检索结果列表。 (见编辑)
标签: android sql sqlite kotlin android-room