File tree Expand file tree Collapse file tree 6 files changed +34
-9
lines changed
hibernate-core/src/main/java/org/hibernate Expand file tree Collapse file tree 6 files changed +34
-9
lines changed Original file line number Diff line number Diff line change 55package org .hibernate .procedure .internal ;
66
77import java .util .ArrayList ;
8+ import java .util .Collection ;
89import java .util .HashSet ;
910import java .util .List ;
1011import java .util .Set ;
2728
2829import static java .util .Collections .emptyList ;
2930import static java .util .Collections .emptySet ;
31+ import static java .util .Collections .unmodifiableList ;
3032
3133/**
3234 * Specialized ParameterMetadataImplementor for callable queries implementing
@@ -80,6 +82,11 @@ public void visitParameters(Consumer<QueryParameter<?>> consumer) {
8082 }
8183 }
8284
85+ @ Override
86+ public Collection <QueryParameter <?>> getParameters () {
87+ return unmodifiableList ( parameters );
88+ }
89+
8390 @ Override
8491 public boolean hasNamedParameters () {
8592 return parameterStrategy == ParameterStrategy .NAMED ;
Original file line number Diff line number Diff line change @@ -192,6 +192,14 @@ public interface CommonQueryContract {
192192 */
193193 CommonQueryContract setHint (String hintName , Object value );
194194
195+ /**
196+ * Get the {@link ParameterMetadata} object representing the parameters
197+ * of this query, and providing access to the {@link QueryParameter}s.
198+ *
199+ * @since 7.0
200+ */
201+ ParameterMetadata getParameterMetadata ();
202+
195203 /**
196204 * Bind the given argument to a named query parameter.
197205 * <p>
Original file line number Diff line number Diff line change 44 */
55package org .hibernate .query ;
66
7+ import java .util .Collection ;
78import java .util .Set ;
89import java .util .function .Consumer ;
910import jakarta .persistence .Parameter ;
@@ -21,6 +22,14 @@ public interface ParameterMetadata {
2122 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
2223 // General purpose
2324
25+ /**
26+ * The {@link QueryParameter}s representing the parameters of the query,
27+ * in no particular well-defined order.
28+ *
29+ * @since 7.0
30+ */
31+ Collection <QueryParameter <?>> getParameters ();
32+
2433 /**
2534 * The total number of registered parameters.
2635 */
Original file line number Diff line number Diff line change @@ -422,13 +422,6 @@ default Query<R> applyLoadGraph(@SuppressWarnings("rawtypes") RootGraph graph) {
422422 */
423423 QueryOptions getQueryOptions ();
424424
425- /**
426- * Access to information about query parameters.
427- *
428- * @return information about query parameters.
429- */
430- ParameterMetadata getParameterMetadata ();
431-
432425 /**
433426 * Bind the given argument to a named query parameter.
434427 * <p>
Original file line number Diff line number Diff line change 55package org .hibernate .query .internal ;
66
77import java .util .ArrayList ;
8+ import java .util .Collection ;
89import java .util .Collections ;
910import java .util .HashMap ;
1011import java .util .LinkedHashMap ;
3132import org .checkerframework .checker .nullness .qual .Nullable ;
3233
3334import static java .util .Collections .emptySet ;
35+ import static java .util .Collections .unmodifiableSet ;
3436import static org .hibernate .internal .util .collections .CollectionHelper .isEmpty ;
3537
3638/**
@@ -155,6 +157,11 @@ private static void verifyOrdinalParamLabels(Set<Integer> labels) {
155157 }
156158 }
157159
160+ @ Override
161+ public Collection <QueryParameter <?>> getParameters () {
162+ return unmodifiableSet ( queryParameters .keySet () );
163+ }
164+
158165 @ Override
159166 public QueryParameterBindings createBindings (SessionFactoryImplementor sessionFactory ) {
160167 return queryParameterBindingsTemplate == null
@@ -197,7 +204,7 @@ public void visitParameters(Consumer<QueryParameter<?>> consumer) {
197204
198205 @ Override
199206 public Set <QueryParameterImplementor <?>> getRegistrations () {
200- return Collections . unmodifiableSet ( queryParameters .keySet () );
207+ return unmodifiableSet ( queryParameters .keySet () );
201208 }
202209
203210 @ Override
Original file line number Diff line number Diff line change @@ -564,7 +564,8 @@ public int getFirstResult() {
564564 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
565565 // Parameter handling
566566
567- protected abstract ParameterMetadataImplementor getParameterMetadata ();
567+ @ Override
568+ public abstract ParameterMetadataImplementor getParameterMetadata ();
568569
569570 @ SuppressWarnings ({"unchecked" , "rawtypes" })
570571 public Set <Parameter <?>> getParameters () {
You can’t perform that action at this time.
0 commit comments