我正在尝试在我的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... ids和Sring[] ids不工作。但是,由于我不知道在编译时会有多少个id,因此,我需要一个列表/数组而不是varargs。
List<String> ids
String... ids
Sring[] ids
如何使此SQL查询工作?
您需要括号:
@Query("SELECT * FROM objects WHERE obj_id IN (:ids)") List<Object> queryObjects(List<String> ids);
(和FWIW,我提出了一个问题,试图在此处获得更好的错误消息)