Skip to content

Commit 2b26cb3

Browse files
yrodieremarko-bekhta
authored andcommitted
HSEARCH-4775 Avoid direct references to setParameter methods in ORM query 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.
1 parent 1a0c105 commit 2b26cb3

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/query/impl/HibernateOrmSearchQueryAdapter.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
package org.hibernate.search.mapper.orm.search.query.impl;
88

99
import java.lang.invoke.MethodHandles;
10-
import java.util.Collection;
1110
import java.util.List;
1211
import java.util.Map;
1312
import java.util.concurrent.TimeUnit;
@@ -28,7 +27,9 @@
2827
import org.hibernate.query.spi.AbstractQuery;
2928
import org.hibernate.query.spi.ParameterMetadataImplementor;
3029
import org.hibernate.query.spi.QueryImplementor;
30+
import org.hibernate.query.spi.QueryParameterBinding;
3131
import org.hibernate.query.spi.QueryParameterBindings;
32+
import org.hibernate.query.spi.QueryParameterImplementor;
3233
import org.hibernate.query.spi.ScrollableResultsImplementor;
3334
import org.hibernate.search.engine.search.query.SearchQuery;
3435
import org.hibernate.search.engine.search.query.spi.SearchQueryImplementor;
@@ -42,6 +43,7 @@
4243
import org.hibernate.search.util.common.logging.impl.LoggerFactory;
4344

4445
import jakarta.persistence.LockModeType;
46+
import jakarta.persistence.Parameter;
4547
import jakarta.persistence.PersistenceException;
4648
import jakarta.persistence.QueryTimeoutException;
4749

@@ -231,17 +233,22 @@ protected QueryParameterBindings getQueryParameterBindings() {
231233
}
232234

233235
@Override
234-
public HibernateOrmSearchQueryAdapter<R> setParameterList(String name, Object[] values) {
236+
protected <P> QueryParameterBinding<P> locateBinding(String name) {
235237
throw parametersNoSupported();
236238
}
237239

238240
@Override
239-
public QueryImplementor<R> setParameterList(String s, Collection collection, Class aClass) {
241+
protected <P> QueryParameterBinding<P> locateBinding(int position) {
240242
throw parametersNoSupported();
241243
}
242244

243245
@Override
244-
public QueryImplementor<R> setParameterList(int i, Collection collection, Class aClass) {
246+
protected <P> QueryParameterBinding<P> locateBinding(Parameter<P> parameter) {
247+
throw parametersNoSupported();
248+
}
249+
250+
@Override
251+
protected <P> QueryParameterBinding<P> locateBinding(QueryParameterImplementor<P> parameter) {
245252
throw parametersNoSupported();
246253
}
247254

v5migrationhelper/orm/src/main/java/org/hibernate/search/query/hibernate/impl/FullTextQueryImpl.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
package org.hibernate.search.query.hibernate.impl;
88

99
import java.util.ArrayList;
10-
import java.util.Collection;
1110
import java.util.HashMap;
1211
import java.util.List;
1312
import java.util.Map;
@@ -16,6 +15,7 @@
1615
import java.util.function.Function;
1716
import jakarta.persistence.FlushModeType;
1817
import jakarta.persistence.LockModeType;
18+
import jakarta.persistence.Parameter;
1919
import jakarta.persistence.PersistenceException;
2020
import jakarta.persistence.QueryTimeoutException;
2121

@@ -34,7 +34,9 @@
3434
import org.hibernate.query.spi.AbstractQuery;
3535
import org.hibernate.query.spi.ParameterMetadataImplementor;
3636
import org.hibernate.query.spi.QueryImplementor;
37+
import org.hibernate.query.spi.QueryParameterBinding;
3738
import org.hibernate.query.spi.QueryParameterBindings;
39+
import org.hibernate.query.spi.QueryParameterImplementor;
3840
import org.hibernate.query.spi.ScrollableResultsImplementor;
3941
import org.hibernate.search.FullTextQuery;
4042
import org.hibernate.search.engine.search.query.SearchScroll;
@@ -287,17 +289,22 @@ protected QueryParameterBindings getQueryParameterBindings() {
287289
}
288290

289291
@Override
290-
public QueryImplementor<?> setParameterList(String name, Object[] values) {
292+
protected QueryParameterBinding locateBinding(String name) {
291293
throw parametersNoSupported();
292294
}
293295

294296
@Override
295-
public QueryImplementor<?> setParameterList(String s, Collection collection, Class aClass) {
297+
protected QueryParameterBinding locateBinding(int position) {
296298
throw parametersNoSupported();
297299
}
298300

299301
@Override
300-
public QueryImplementor<?> setParameterList(int i, Collection collection, Class aClass) {
302+
protected QueryParameterBinding locateBinding(Parameter parameter) {
303+
throw parametersNoSupported();
304+
}
305+
306+
@Override
307+
protected QueryParameterBinding locateBinding(QueryParameterImplementor parameter) {
301308
throw parametersNoSupported();
302309
}
303310

0 commit comments

Comments
 (0)