I am trying to do the following query in my DAO.
@Query("SELECT * FROM objects WHERE obj_id IN :ids") List<Object> queryObjects(List<String> ids);
It gives me this compile-time error:
Error: no viable alternative at input 'SELECT * FROM objects WHERE obj_id IN :ids'
List<String> ids as well as
String... ids and
Sring ids don’t work. However, since I don’t know how many ids I will have in compile-time and therefore, I need a list/array and not varargs.
How can I make this SQL query work?
You need parentheses:
@Query("SELECT * FROM objects WHERE obj_id IN (:ids)") List<Object> queryObjects(List<String> ids);
(and FWIW, I filed an issue to try to get a better error message here)
You can set either list of input or array of input.
and then make a query like this
e.g. String ids or List ids
Query = @Query(“select * from objects where obj_id in (:ids)”)