private void setQueryParameters(Query query, SearchParameters sp) { // add default parameter if specified in the named query for (Parameter<?> p : query.getParameters()) { if (NAMED_PARAMETER_CURRENT_USER_ID.equals(p.getName())) { query.setParameter(NAMED_PARAMETER_CURRENT_USER_ID, UserContext.getId()); } else if (NAMED_PARAMETER_NOW.equals(p.getName())) { query.setParameter(NAMED_PARAMETER_NOW, Calendar.getInstance().getTime()); } } // add parameters for the named query for (String paramName : sp.getNamedQueryParameters().keySet()) { query.setParameter(paramName, sp.getNamedQueryParameter(paramName)); } }