private boolean registerExcessParameters(Query query) { // DATAJPA-1172 // Since EclipseLink doesn't reliably report whether a query has parameters // we simply try to set the parameters and ignore possible failures. // this is relevant for native queries with SpEL expressions, where the method parameters don't have to match the // parameters in the query. // https://bugs.eclipse.org/bugs/show_bug.cgi?id=521915 return query.getParameters().size() == 0 && unwrapClass(query).getName().startsWith("org.eclipse"); }
/** * Returns whether the given {@link Query} contains named parameters. * * @param query Must not be {@literal null}. * @return whether the given {@link Query} contains named parameters. */ public static boolean hasNamedParameter(Query query) { Assert.notNull(query, "Query must not be null!"); for (Parameter<?> parameter : query.getParameters()) { String name = parameter.getName(); // Hibernate 3 specific hack as it returns the index as String for the name. if (name != null && NO_DIGITS.matcher(name).find()) { return true; } } return false; }
public static void bind(Query query, Map<String, ?> namedArgs, Object... args) { if (args != null) { for (int i = 0; i < args.length; i++) { query.setParameter(i + 1, args[i]); } } if (namedArgs != null) { for (Parameter<?> param : query.getParameters()) { String name = param.getName(); if (U.notEmpty(name)) { U.must(namedArgs.containsKey(name), "A named argument wasn't specified for the named JPQL parameter: %s", name); query.setParameter(name, Cls.convert(namedArgs.get(name), param.getParameterType())); } } } }
&& (query.getParameters().size() >= parameter.getPosition() // && (query.getParameters().size() >= position //
@Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
private void logQuery(String queryString, Query q) { if (hints.queryLogger == null) return; Map<Integer, Object> positionParams = new HashMap<Integer, Object>(); Map<String, Object> namedParams = new HashMap<String, Object>(); for (Parameter<?> param: q.getParameters()) { if (param.getName() != null) namedParams.put(param.getName(), q.getParameterValue(param)); if (param.getPosition() != null) positionParams.put(param.getPosition(), q.getParameterValue(param)); } hints.queryLogger.logQuery(queryString, positionParams, namedParams); }
Set<Parameter<?>> parameters = query.getParameters();
/** {@inheritDoc} */ @Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return delegate.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return query.getParameters(); }
@Override public Set<Parameter<?>> getParameters() { return underlyingQuery.getParameters(); }
private javax.persistence.Parameter<?>[] getQueryParameters(final Query query) { final javax.persistence.Parameter<?>[] parameters = query.getParameters().toArray(EMPTY_QUERY_PARAMETERS); Arrays.sort(parameters, COMPARATOR); return parameters; }
private boolean registerExcessParameters(Query query) { // DATAJPA-1172 // Since EclipseLink doesn't reliably report whether a query has parameters // we simply try to set the parameters and ignore possible failures. // this is relevant for native queries with SpEL expressions, where the method parameters don't have to match the // parameters in the query. // https://bugs.eclipse.org/bugs/show_bug.cgi?id=521915 return query.getParameters().size() == 0 && unwrapClass(query).getName().startsWith("org.eclipse"); }
private void bindListParameters(Query q) { for (Parameter<?> parameter : q.getParameters()) { Collection<?> value = listParameters.get(parameter.getName()); if (value != null) { q.setParameter((Parameter) parameter, value); } } } }
private static Map<String, Object> getNamedParameters(Query jpaQuery) { if (jpaQuery.getParameters() == null) return null; List<String> names = new ArrayList<>(); Map<String, Object> namedParameters = new LinkedHashMap<>(); jpaQuery.getParameters().stream() .filter(parameter -> parameter.getName() != null) .forEach(parameter -> names.add(parameter.getName())); if (names.isEmpty()) return null; names.stream() .sorted() .forEach(name -> namedParameters.put(name, jpaQuery.getParameterValue(name))); return namedParameters; }
public Set<Parameter<?>> getParameters() { try { if(callFlowAgent.isEnabled()) { callFlowAgent.entityManagerQueryStart(EntityManagerQueryMethod.GET_PARAMETERS); } return queryDelegate.getParameters(); } finally { if(callFlowAgent.isEnabled()) { callFlowAgent.entityManagerQueryEnd(); } } }
public Set<Parameter<?>> getParameters() { try { if(callFlowAgent.isEnabled()) { callFlowAgent.entityManagerQueryStart(EntityManagerQueryMethod.GET_PARAMETERS); } Query delegate = getQueryDelegate(); return delegate.getParameters(); } finally { if(callFlowAgent.isEnabled()) { callFlowAgent.entityManagerQueryEnd(); } } }