我正在尝试在DAO中执行以下查询。
Error: no viable alternative at input 'SELECT * FROM objects WHERE obj_id IN :ids'
它给了我这个编译时错误:
List<String> ids
String... ids
以及Sring[] ids
和test1.exe -p line1 -f line1.config
都无法正常工作。但是,由于我不知道编译时会有多少ID,因此,我需要一个列表/数组而不是varargs。
如何使此SQL查询有效?
答案 0 :(得分:19)
你需要括号:
@Query("SELECT * FROM objects WHERE obj_id IN (:ids)")
List<Object> queryObjects(List<String> ids);
(和FWIW,我提交了an issue以尝试在此处获得更好的错误消息)
答案 1 :(得分:1)
您可以设置输入列表或输入数组。
然后进行这样的查询
例如字符串[] ID或列表ID
Query = @Query(“从(:ids)中obj_id的对象中选择*”)