Skip to content

Commit

Permalink
HSEARCH-4775 Avoid direct references to setParameter methods in ORM q…
Browse files Browse the repository at this point in the history
…uery adapters

ORM 6.2 makes some changes to the setParameter methods, so we'd better
avoid overriding them altogether. Overriding locateBinding() methods is
safe, though.
  • Loading branch information
yrodiere committed Feb 1, 2023
1 parent 8ffcb9e commit 2670c39
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 8 deletions.
Expand Up @@ -7,7 +7,6 @@
package org.hibernate.search.mapper.orm.search.query.impl;

import java.lang.invoke.MethodHandles;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
Expand All @@ -28,7 +27,9 @@
import org.hibernate.query.spi.AbstractQuery;
import org.hibernate.query.spi.ParameterMetadataImplementor;
import org.hibernate.query.spi.QueryImplementor;
import org.hibernate.query.spi.QueryParameterBinding;
import org.hibernate.query.spi.QueryParameterBindings;
import org.hibernate.query.spi.QueryParameterImplementor;
import org.hibernate.query.spi.ScrollableResultsImplementor;
import org.hibernate.search.engine.search.query.SearchQuery;
import org.hibernate.search.engine.search.query.spi.SearchQueryImplementor;
Expand All @@ -42,6 +43,7 @@
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

import jakarta.persistence.LockModeType;
import jakarta.persistence.Parameter;
import jakarta.persistence.PersistenceException;
import jakarta.persistence.QueryTimeoutException;

Expand Down Expand Up @@ -231,17 +233,22 @@ protected QueryParameterBindings getQueryParameterBindings() {
}

@Override
public HibernateOrmSearchQueryAdapter<R> setParameterList(String name, Object[] values) {
protected <P> QueryParameterBinding<P> locateBinding(String name) {
throw parametersNoSupported();
}

@Override
public QueryImplementor<R> setParameterList(String s, Collection collection, Class aClass) {
protected <P> QueryParameterBinding<P> locateBinding(int position) {
throw parametersNoSupported();
}

@Override
public QueryImplementor<R> setParameterList(int i, Collection collection, Class aClass) {
protected <P> QueryParameterBinding<P> locateBinding(Parameter<P> parameter) {
throw parametersNoSupported();
}

@Override
protected <P> QueryParameterBinding<P> locateBinding(QueryParameterImplementor<P> parameter) {
throw parametersNoSupported();
}

Expand Down
Expand Up @@ -7,7 +7,6 @@
package org.hibernate.search.query.hibernate.impl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -16,6 +15,7 @@
import java.util.function.Function;
import jakarta.persistence.FlushModeType;
import jakarta.persistence.LockModeType;
import jakarta.persistence.Parameter;
import jakarta.persistence.PersistenceException;
import jakarta.persistence.QueryTimeoutException;

Expand All @@ -34,7 +34,9 @@
import org.hibernate.query.spi.AbstractQuery;
import org.hibernate.query.spi.ParameterMetadataImplementor;
import org.hibernate.query.spi.QueryImplementor;
import org.hibernate.query.spi.QueryParameterBinding;
import org.hibernate.query.spi.QueryParameterBindings;
import org.hibernate.query.spi.QueryParameterImplementor;
import org.hibernate.query.spi.ScrollableResultsImplementor;
import org.hibernate.search.FullTextQuery;
import org.hibernate.search.engine.search.query.SearchScroll;
Expand Down Expand Up @@ -287,17 +289,22 @@ protected QueryParameterBindings getQueryParameterBindings() {
}

@Override
public QueryImplementor<?> setParameterList(String name, Object[] values) {
protected QueryParameterBinding locateBinding(String name) {
throw parametersNoSupported();
}

@Override
public QueryImplementor<?> setParameterList(String s, Collection collection, Class aClass) {
protected QueryParameterBinding locateBinding(int position) {
throw parametersNoSupported();
}

@Override
public QueryImplementor<?> setParameterList(int i, Collection collection, Class aClass) {
protected QueryParameterBinding locateBinding(Parameter parameter) {
throw parametersNoSupported();
}

@Override
protected QueryParameterBinding locateBinding(QueryParameterImplementor parameter) {
throw parametersNoSupported();
}

Expand Down

0 comments on commit 2670c39

Please sign in to comment.