假设我们有一个简单的User
实体:
@Entity
public class User {
@PrimaryKey
public final String id;
public final String name;
}
我要做的是找到intersection的
Users
集Users
集这就是我可以做的:
//DAO
@Query("SELECT * FROM User WHERE id IN (:ids)"
List<User> getIntersection(List<String> ids)
并像这样使用Dao:
List<User> remoteUsers = getRemoteUsers();
List<String> ids = remoteUsers.stream().map(i -> i.id).collect(Collectors.toList())
List<User> intersaction = dao.getIntersection(ids);
我想知道的是,是否有一种方法可以直接将List作为参数传递:
//DAO
@Query("SELECT * FROM User WHERE ???"
List<User> getIntersection(List<User> users)
List<User> intersaction = dao.getIntersection(getRemoteUsers());
任何其他简化建议也将不胜感激。