How can I set a parameter as a list of values in a named query, so I can get a filtered resultSet from database?
For example: I want a resultSet which contains only data filtered by code 1, 2, and 3.
In SQL, the query is:
SELECT * FROM PontoEletronico WHERE prefDep IN (1, 2, 3);
As I read here, my namedQuery actually is:
@NamedQuery(name = "PontoEletronico.findAllEscritorios", query = "SELECT p FROM PontoEletronico p WHERE p.prefDep IN :myList");
The myList is set as below:
List<PrefDeps> myList;
private final PrefDeps p1 = new PrefDeps();
private final PrefDeps p2 = new PrefDeps();
public List<T> findAllEscritorios() {
p1.setPrefDep(9882);
p2.setPrefDep(9517);
myList.add(p1);
myList.add(p2);
return (List<T>) getEntityManager().createNamedQuery("PontoEletronico.findAllEscritorios", PontoEletronico.class).setParameter("prefDep", myList).getResultList();
}
Thanks in advance.