假设我有一个对象
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 似乎不正确。
EDIT:
我想知道如何使用单个查询来检索结果列表。
我知道 Room 在幕后使用 ContentValue 来循环实体列表。
有没有办法让我们创建自己的 contentValue 并传递到 Room 中?
像下面这样的事情可能吗?
getAllWithPairs( List<String> firstNames, List<String> lastNames);