queryJPA = manager.createNativeQuery(queryString, target);
} else {
queryJPA = manager.createQuery(queryString);
}
Filter filter = new Filter().addFilters(filters);
// Associa os valores
for (Pair<String, Object> pair : filter) {
setQuery(queryJPA, pair);
}
// Configura os limites
if (filter.isLimited()) {
queryJPA.setFirstResult(filter.getLimits().getFirst());
queryJPA.setMaxResults(filter.getLimits().getLast());
}
setQueryHints(queryJPA, query);
// Executa a consulta