Skip to content

Commit da6a1e7

Browse files
committed
give SqmQuery a type parameter
I have no clue why this was missing, but this change is BC, so it's all good.
1 parent da9337a commit da6a1e7

File tree

5 files changed

+52
-58
lines changed

5 files changed

+52
-58
lines changed

hibernate-core/src/main/java/org/hibernate/query/hql/spi/SqmQueryImplementor.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.hibernate.query.spi.QueryImplementor;
2626
import org.hibernate.query.spi.SqmQuery;
2727
import org.hibernate.query.sqm.spi.NamedSqmQueryMemento;
28-
import org.hibernate.query.sqm.tree.SqmStatement;
2928
import org.hibernate.transform.ResultTransformer;
3029

3130
import jakarta.persistence.FlushModeType;
@@ -39,17 +38,13 @@
3938
*
4039
* @author Steve Ebersole
4140
*/
42-
public interface SqmQueryImplementor<R> extends QueryImplementor<R>, SqmQuery, NameableQuery {
41+
public interface SqmQueryImplementor<R> extends QueryImplementor<R>, SqmQuery<R>, NameableQuery {
4342
@Override
4443
NamedSqmQueryMemento<R> toMemento(String name);
4544

4645
@Override
4746
ParameterMetadataImplementor getParameterMetadata();
4847

49-
@Override
50-
SqmStatement<R> getSqmStatement();
51-
52-
5348
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5449
// covariance
5550

hibernate-core/src/main/java/org/hibernate/query/spi/SqmQuery.java

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -26,133 +26,132 @@
2626
*
2727
* @author Steve Ebersole
2828
*/
29-
public interface SqmQuery extends CommonQueryContract {
29+
public interface SqmQuery<R> extends CommonQueryContract {
3030
String getQueryString();
3131

32-
@SuppressWarnings("rawtypes")
33-
SqmStatement getSqmStatement();
32+
SqmStatement<R> getSqmStatement();
3433

3534
ParameterMetadata getParameterMetadata();
3635

3736
QueryOptions getQueryOptions();
3837

3938
@Override
40-
SqmQuery setParameter(String name, Object value);
39+
SqmQuery<R> setParameter(String name, Object value);
4140

4241
@Override
43-
<P> SqmQuery setParameter(String name, P value, Class<P> type);
42+
<P> SqmQuery<R> setParameter(String name, P value, Class<P> type);
4443

4544
@Override
46-
<P> SqmQuery setParameter(String name, P value, Type<P> type);
45+
<P> SqmQuery<R> setParameter(String name, P value, Type<P> type);
4746

4847
@Override @Deprecated(since = "7")
49-
SqmQuery setParameter(String name, Instant value, TemporalType temporalType);
48+
SqmQuery<R> setParameter(String name, Instant value, TemporalType temporalType);
5049

5150
@Override @Deprecated(since = "7")
52-
SqmQuery setParameter(String name, Calendar value, TemporalType temporalType);
51+
SqmQuery<R> setParameter(String name, Calendar value, TemporalType temporalType);
5352

5453
@Override @Deprecated(since = "7")
55-
SqmQuery setParameter(String name, Date value, TemporalType temporalType);
54+
SqmQuery<R> setParameter(String name, Date value, TemporalType temporalType);
5655

5756
@Override
58-
SqmQuery setParameter(int position, Object value);
57+
SqmQuery<R> setParameter(int position, Object value);
5958

6059
@Override
61-
<P> SqmQuery setParameter(int position, P value, Class<P> type);
60+
<P> SqmQuery<R> setParameter(int position, P value, Class<P> type);
6261

6362
@Override
64-
<P> SqmQuery setParameter(int position, P value, Type<P> type);
63+
<P> SqmQuery<R> setParameter(int position, P value, Type<P> type);
6564

6665
@Override @Deprecated(since = "7")
67-
SqmQuery setParameter(int position, Instant value, TemporalType temporalType);
66+
SqmQuery<R> setParameter(int position, Instant value, TemporalType temporalType);
6867

6968
@Override @Deprecated(since = "7")
70-
SqmQuery setParameter(int position, Date value, TemporalType temporalType);
69+
SqmQuery<R> setParameter(int position, Date value, TemporalType temporalType);
7170

7271
@Override @Deprecated(since = "7")
73-
SqmQuery setParameter(int position, Calendar value, TemporalType temporalType);
72+
SqmQuery<R> setParameter(int position, Calendar value, TemporalType temporalType);
7473

7574
@Override
76-
<T> SqmQuery setParameter(QueryParameter<T> parameter, T value);
75+
<T> SqmQuery<R> setParameter(QueryParameter<T> parameter, T value);
7776

7877
@Override
79-
<P> SqmQuery setParameter(QueryParameter<P> parameter, P value, Class<P> type);
78+
<P> SqmQuery<R> setParameter(QueryParameter<P> parameter, P value, Class<P> type);
8079

8180
@Override
82-
<P> SqmQuery setParameter(QueryParameter<P> parameter, P val, Type<P> type);
81+
<P> SqmQuery<R> setParameter(QueryParameter<P> parameter, P val, Type<P> type);
8382

8483
@Override
85-
<T> SqmQuery setParameter(Parameter<T> param, T value);
84+
<T> SqmQuery<R> setParameter(Parameter<T> param, T value);
8685

8786
@Override @Deprecated(since = "7")
88-
SqmQuery setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType);
87+
SqmQuery<R> setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType);
8988

9089
@Override @Deprecated(since = "7")
91-
SqmQuery setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
90+
SqmQuery<R> setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
9291

9392
@Override
94-
SqmQuery setParameterList(String name, @SuppressWarnings("rawtypes") Collection values);
93+
SqmQuery<R> setParameterList(String name, @SuppressWarnings("rawtypes") Collection values);
9594

9695
@Override
97-
<P> SqmQuery setParameterList(String name, Collection<? extends P> values, Class<P> javaType);
96+
<P> SqmQuery<R> setParameterList(String name, Collection<? extends P> values, Class<P> javaType);
9897

9998
@Override
100-
<P> SqmQuery setParameterList(String name, Collection<? extends P> values, Type<P> type);
99+
<P> SqmQuery<R> setParameterList(String name, Collection<? extends P> values, Type<P> type);
101100

102101
@Override
103-
SqmQuery setParameterList(String name, Object[] values);
102+
SqmQuery<R> setParameterList(String name, Object[] values);
104103

105104
@Override
106-
<P> SqmQuery setParameterList(String name, P[] values, Class<P> javaType);
105+
<P> SqmQuery<R> setParameterList(String name, P[] values, Class<P> javaType);
107106

108107
@Override
109-
<P> SqmQuery setParameterList(String name, P[] values, Type<P> type);
108+
<P> SqmQuery<R> setParameterList(String name, P[] values, Type<P> type);
110109

111110
@Override
112-
SqmQuery setParameterList(int position, @SuppressWarnings("rawtypes") Collection values);
111+
SqmQuery<R> setParameterList(int position, @SuppressWarnings("rawtypes") Collection values);
113112

114113
@Override
115-
<P> SqmQuery setParameterList(int position, Collection<? extends P> values, Class<P> javaType);
114+
<P> SqmQuery<R> setParameterList(int position, Collection<? extends P> values, Class<P> javaType);
116115

117116
@Override
118-
<P> SqmQuery setParameterList(int position, Collection<? extends P> values, Type<P> type);
117+
<P> SqmQuery<R> setParameterList(int position, Collection<? extends P> values, Type<P> type);
119118

120119
@Override
121-
SqmQuery setParameterList(int position, Object[] values);
120+
SqmQuery<R> setParameterList(int position, Object[] values);
122121

123122
@Override
124-
<P> SqmQuery setParameterList(int position, P[] values, Class<P> javaType);
123+
<P> SqmQuery<R> setParameterList(int position, P[] values, Class<P> javaType);
125124

126125
@Override
127-
<P> SqmQuery setParameterList(int position, P[] values, Type<P> type);
126+
<P> SqmQuery<R> setParameterList(int position, P[] values, Type<P> type);
128127

129128
@Override
130-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, Collection<? extends P> values);
129+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, Collection<? extends P> values);
131130

132131
@Override
133-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType);
132+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType);
134133

135134
@Override
136-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Type<P> type);
135+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Type<P> type);
137136

138137
@Override
139-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, P[] values);
138+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, P[] values);
140139

141140
@Override
142-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, P[] values, Class<P> javaType);
141+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, P[] values, Class<P> javaType);
143142

144143
@Override
145-
<P> SqmQuery setParameterList(QueryParameter<P> parameter, P[] values, Type<P> type);
144+
<P> SqmQuery<R> setParameterList(QueryParameter<P> parameter, P[] values, Type<P> type);
146145

147146
@Override
148-
SqmQuery setProperties(Object bean);
147+
SqmQuery<R> setProperties(Object bean);
149148

150149
@Override
151-
SqmQuery setProperties(@SuppressWarnings("rawtypes") Map bean);
150+
SqmQuery<R> setProperties(@SuppressWarnings("rawtypes") Map bean);
152151

153152
@Override @Deprecated(since = "7")
154-
SqmQuery setHibernateFlushMode(FlushMode flushMode);
153+
SqmQuery<R> setHibernateFlushMode(FlushMode flushMode);
155154

156155
@Override
157-
SqmQuery setQueryFlushMode(QueryFlushMode queryFlushMode);
156+
SqmQuery<R> setQueryFlushMode(QueryFlushMode queryFlushMode);
158157
}

hibernate-core/src/main/java/org/hibernate/query/sqm/SqmSelectionQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
/**
2727
* @author Steve Ebersole
2828
*/
29-
public interface SqmSelectionQuery<R> extends SqmQuery, SelectionQuery<R> {
29+
public interface SqmSelectionQuery<R> extends SqmQuery<R>, SelectionQuery<R> {
3030

3131
@Override
3232
SqmSelectionQuery<R> setParameter(String name, Object value);

hibernate-core/src/main/java/org/hibernate/query/sqm/spi/DelegatingSqmSelectionQueryImplementor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@ public String getQueryString() {
319319
return getDelegate().getQueryString();
320320
}
321321

322-
@Override @SuppressWarnings("rawtypes")
323-
public SqmStatement getSqmStatement() {
322+
@Override
323+
public SqmStatement<R> getSqmStatement() {
324324
return getDelegate().getSqmStatement();
325325
}
326326

hibernate-core/src/test/java/org/hibernate/orm/test/query/ToHqlStringTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void testCriteriaCountDistinctToHqlString(EntityManagerFactoryScope scope
4848
criteriaQuery = criteriaQuery.select( countDistinct );
4949

5050
TypedQuery<Long> query = entityManager.createQuery( criteriaQuery );
51-
( (SqmQuery) query ).getSqmStatement().toHqlString();
51+
( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
5252
}
5353
);
5454
}
@@ -58,7 +58,7 @@ public void testHqlCountDistinctToHqlString(EntityManagerFactoryScope scope) {
5858
scope.inTransaction(
5959
entityManager -> {
6060
Query query = entityManager.createQuery( "select count (distinct t) from TestEntity t" );
61-
( (SqmQuery) query ).getSqmStatement().toHqlString();
61+
( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
6262
}
6363
);
6464
}
@@ -69,7 +69,7 @@ public void testDynamicInstantiationToHqlString(EntityManagerFactoryScope scope)
6969
entityManager -> {
7070
Query query = entityManager.createQuery( "select new org.hibernate.orm.test.query.ToHqlStringTest$TestDto("
7171
+ " t.id, t.name ) from TestEntity t" );
72-
( (SqmQuery) query ).getSqmStatement().toHqlString();
72+
( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
7373
}
7474
);
7575
}
@@ -87,7 +87,7 @@ public void testCriteriaWithTreatToHqlString(EntityManagerFactoryScope scope) {
8787
criteriaQuery = criteriaQuery.select( entity );
8888

8989
TypedQuery<Object> query = entityManager.createQuery( criteriaQuery );
90-
String hqlString = ( (SqmQuery) query ).getSqmStatement().toHqlString();
90+
String hqlString = ( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
9191
final int fromIndex = hqlString.indexOf( " from " );
9292
final String alias = hqlString.substring( "select ".length(), fromIndex );
9393
assertThat( hqlString.substring( fromIndex ), containsString( alias ) );
@@ -109,7 +109,7 @@ public void testCriteriaWithFunctionTakingOneArgument(EntityManagerFactoryScope
109109
);
110110

111111
TypedQuery<Object> query = entityManager.createQuery( criteriaQuery );
112-
String hqlString = ( (SqmQuery) query ).getSqmStatement().toHqlString();
112+
String hqlString = ( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
113113
assertThat( hqlString, containsString( "where lower('Foo') = 'foo'" ) );
114114
}
115115
);
@@ -129,7 +129,7 @@ public void testCriteriaWithFunctionTakingTwoArguments(EntityManagerFactoryScope
129129
) );
130130

131131
TypedQuery<Object> query = entityManager.createQuery( criteriaQuery );
132-
String hqlString = ( (SqmQuery) query ).getSqmStatement().toHqlString();
132+
String hqlString = ( (SqmQuery<?>) query ).getSqmStatement().toHqlString();
133133
assertThat( hqlString, containsString( "where myFunction(0, 10)" ) );
134134
}
135135
);

0 commit comments

Comments
 (0)