I need to create a \"real\" dynamic JPA CriteriaBuilder
. I get an Map
with the statements. It looks like:
nam
One option is to use the fact that method with variable number of arguments can take an array:
query.where(predicates.toArray(new Predicate[predicates.size()]));
Alternatively, you can combine them into a single predicate (note that if you don't do it, you don't need to create a conjunction as in your example);:
Predicate where = cb.conjunction();
while (column.hasNext()) {
...
where = cb.and(where, cb.equal(userRoot.get(colIndex), colValue));
}
query.where(where);