Skip to content

Commit 3ba411d

Browse files
mp911dechristophstrobl
authored andcommitted
Replace derived CriteriaQuery with String-based queries.
Introduce new DSL to construct JPQL queries. Refactor ParameterMetadata to PartTreeParameterBinding. Disable Keyset pagination with projections for Eclipselink as Eclipselink doesn't consider type hints for JPQL queries. Closes #3588 Original pull request: #3653
1 parent a24597a commit 3ba411d

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/AbstractStringBasedJpaQuery.java

-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ public Query doCreateQuery(JpaParametersParameterAccessor accessor) {
136136
ReturnedType returnedType = processor.getReturnedType();
137137
QueryProvider sortedQuery = getSortedQuery(sort, returnedType);
138138
Query query = createJpaQuery(sortedQuery, sort, accessor.getPageable(), returnedType);
139-
140139
// it is ok to reuse the binding contained in the ParameterBinder, although we create a new query String because the
141140
// parameters in the query do not change.
142141
return parameterBinder.get().bindAndPrepare(query, accessor);

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaKeysetScrollQueryCreator.java

-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ protected JpqlQueryBuilder.AbstractJpqlQuery createQuery(JpqlQueryBuilder.@Nulla
9191
return query;
9292
}
9393

94-
9594
private static JpqlQueryBuilder.@Nullable Predicate getPredicate(JpqlQueryBuilder.@Nullable Predicate predicate,
9695
JpqlQueryBuilder.@Nullable Predicate keysetPredicate) {
9796

spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/NamedOrIndexedQueryParameterSetterUnitTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ void strictErrorHandlingThrowsExceptionForAllVariationsOfParameters() {
8989

9090
softly
9191
.assertThatThrownBy(
92-
() -> setter.setParameter(QueryParameterSetter.BindableQuery.from(query), methodArguments, STRICT)) //
92+
() -> setter.setParameter(BindableQuery.from(query), methodArguments, STRICT)) //
9393
.describedAs("p-type: %s, p-name: %s, p-position: %s, temporal: %s", //
9494
parameter.getClass(), //
9595
parameter.getName(), //
@@ -118,7 +118,7 @@ void lenientErrorHandlingThrowsNoExceptionForAllVariationsOfParameters() {
118118

119119
softly
120120
.assertThatCode(
121-
() -> setter.setParameter(QueryParameterSetter.BindableQuery.from(query), methodArguments, LENIENT)) //
121+
() -> setter.setParameter(BindableQuery.from(query), methodArguments, LENIENT)) //
122122
.describedAs("p-type: %s, p-name: %s, p-position: %s, temporal: %s", //
123123
parameter.getClass(), //
124124
parameter.getName(), //
@@ -149,7 +149,7 @@ void lenientSetsParameterWhenSuccessIsUnsure() {
149149
temporalType //
150150
);
151151

152-
setter.setParameter(QueryParameterSetter.BindableQuery.from(query), methodArguments, LENIENT);
152+
setter.setParameter(BindableQuery.from(query), methodArguments, LENIENT);
153153

154154
if (temporalType == null) {
155155
verify(query).setParameter(eq(11), any(Date.class));
@@ -179,7 +179,7 @@ void parameterNotSetWhenSuccessImpossible() {
179179
temporalType //
180180
);
181181

182-
setter.setParameter(QueryParameterSetter.BindableQuery.from(query), methodArguments, LENIENT);
182+
setter.setParameter(BindableQuery.from(query), methodArguments, LENIENT);
183183

184184
if (temporalType == null) {
185185
verify(query, never()).setParameter(anyInt(), any(Date.class));

0 commit comments

Comments
 (0)