Eu criei uma NamedQuery que se parece com isso:
@NamedQuery(name = "EventLog.viewDatesInclude",
query = "SELECT el FROM EventLog el WHERE el.timeMark >= :dateFrom AND "
+ "el.timeMark <= :dateTo AND "
+ "el.name IN (:inclList)")
O que eu quero fazer é preencher o parâmetro: inclList com uma lista de itens em vez de um item. Por exemplo, se eu tiver um, new List<String>() { "a", "b", "c" }
como faço para obtê-lo no parâmetro: inclList? Apenas me permite codificar uma string. Por exemplo:
setParameter("inclList", "a") // works
setParameter("inclList", "a, b") // does not work
setParameter("inclList", "'a', 'b'") // does not work
setParameter("inclList", list) // throws an exception
Eu sei que eu poderia criar uma string e criar toda a consulta a partir disso, mas queria evitar a sobrecarga. Existe um jeito melhor de fazer isso?
Pergunta relacionada: se a Lista for muito grande, existe alguma maneira de criar consultas como essa?