小编典典

Android Room Persistence Library-如何查找ID列表中包含ID的实体?

sql

我正在尝试在我的DAO中执行以下查询。

   @Query("SELECT * FROM objects WHERE obj_id IN :ids")
   List<Object> queryObjects(List<String> ids);

它给了我这个编译时错误:

Error: no viable alternative at input 'SELECT * FROM objects WHERE obj_id IN :ids'

双方List<String> ids以及String... idsSring[] ids不工作。但是,由于我不知道在编译时会有多少个id,因此,我需要一个列表/数组而不是varargs。

如何使此SQL查询工作?


阅读 297

收藏
2021-03-23

共1个答案

小编典典

您需要括号:

@Query("SELECT * FROM objects WHERE obj_id IN (:ids)")
List<Object> queryObjects(List<String> ids);

(和FWIW,我提出了一个问题,试图在此处获得更好的错误消息)

2021-03-23