Skip to content

Commit 14c1f71

Browse files
committed
Polishing.
See #3041
1 parent a721243 commit 14c1f71

File tree

6 files changed

+17
-7
lines changed

6 files changed

+17
-7
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,7 @@ public String getCommentHintKey() {
196196

197197
Class<?> type;
198198
try {
199-
type = ClassUtils.forName("org.hibernate.query.TypedParameterValue",
200-
PersistenceProvider.class.getClassLoader());
199+
type = ClassUtils.forName("org.hibernate.query.TypedParameterValue", PersistenceProvider.class.getClassLoader());
201200
} catch (ClassNotFoundException e) {
202201
type = null;
203202
}

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

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public ParameterBinder(JpaParameters parameters, Iterable<QueryParameterSetter>
7272

7373
public <T extends Query> T bind(T jpaQuery, QueryParameterSetter.QueryMetadata metadata,
7474
JpaParametersParameterAccessor accessor) {
75+
7576
bind(metadata.withQuery(jpaQuery), accessor, ErrorHandling.STRICT);
7677
return jpaQuery;
7778
}

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

-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ void shouldDetectComplexNativeQueriesWithSpelAsNonNative() {
103103
+ "+ \"AND (n.updatedAt >= ?#{#networkRequest.updatedTime.startDateTime}) AND (n.updatedAt <=?#{#networkRequest.updatedTime.endDateTime})",
104104
metadata, SPEL_PARSER, true);
105105

106-
System.out.println(query.getQueryString());
107106
assertThat(query.isNativeQuery()).isFalse();
108107
}
109108

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

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.List;
2828

2929
import org.junit.jupiter.api.BeforeEach;
30+
import org.junit.jupiter.api.Disabled;
3031
import org.junit.jupiter.api.Test;
3132
import org.junit.jupiter.api.extension.ExtendWith;
3233
import org.mockito.Mock;
@@ -193,6 +194,7 @@ void noQueryShouldNotBeInvoked() {
193194
assertThatIllegalStateException().isThrownBy(() -> query.getQueryMethod());
194195
}
195196

197+
@Disabled("invalid to JSqlParser")
196198
@Test // GH-2551
197199
void customQueryWithQuestionMarksShouldWork() throws NoSuchMethodException {
198200

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

+4-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ void exceptionWhenQueryContainNamedParametersAndMethodParametersAreNotNamed() {
6262
when(binding.getOrigin()).thenReturn(ParameterOrigin.ofParameter("NamedParameter", 1));
6363

6464
assertThatExceptionOfType(IllegalStateException.class) //
65-
.isThrownBy(() -> setterFactory.create(binding, DeclaredQuery.of("QueryStringWith :NamedParameter", false))) //
65+
.isThrownBy(() -> setterFactory.create(binding,
66+
DeclaredQuery.of("from Employee e where e.name = :NamedParameter", false))) //
6667
.withMessageContaining("Java 8") //
6768
.withMessageContaining("@Param") //
6869
.withMessageContaining("-parameters");
@@ -80,7 +81,8 @@ void exceptionWhenCriteriaQueryContainsInsufficientAmountOfParameters() {
8081
when(binding.getOrigin()).thenReturn(ParameterOrigin.ofParameter(null, 1));
8182

8283
assertThatExceptionOfType(IllegalArgumentException.class) //
83-
.isThrownBy(() -> setterFactory.create(binding, DeclaredQuery.of("QueryStringWith :NamedParameter", false))) //
84+
.isThrownBy(() -> setterFactory.create(binding,
85+
DeclaredQuery.of("from Employee e where e.name = :NamedParameter", false))) //
8486
.withMessage("At least 1 parameter(s) provided but only 0 parameter(s) present in query");
8587
}
8688

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

+9-2
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,9 @@ void rewritesNamedLikeToUniqueParametersIfNecessary() {
139139
true);
140140

141141
assertThat(query.hasParameterBindings()).isTrue();
142-
assertThat(query.getQueryString()).isEqualTo(
143-
"select u from User u where u.firstname like :firstname or u.firstname like :firstname_1 or u.firstname = :firstname_2");
142+
assertThat(query.getQueryString()) //
143+
.isEqualTo(
144+
"select u from User u where u.firstname like :firstname or u.firstname like :firstname_1 or u.firstname = :firstname_2");
144145

145146
List<ParameterBinding> bindings = query.getParameterBindings();
146147
assertThat(bindings).hasSize(3);
@@ -154,6 +155,11 @@ void rewritesNamedLikeToUniqueParametersIfNecessary() {
154155
assertThat(binding).isNotNull();
155156
assertThat(binding.getName()).isEqualTo("firstname_1");
156157
assertThat(binding.getType()).isEqualTo(Type.STARTING_WITH);
158+
159+
ParameterBinding parameterBinding = bindings.get(2);
160+
assertThat(parameterBinding).isNotNull();
161+
assertThat(parameterBinding.getName()).isEqualTo("firstname_2");
162+
assertThat(((MethodInvocationArgument) parameterBinding.getOrigin()).identifier().getName()).isEqualTo("firstname");
157163
}
158164

159165
@Test // GH-3041
@@ -609,6 +615,7 @@ void makesUsageOfJdbcStyleParameterAvailable() {
609615
softly.assertThat(new StringQuery(testQuery, false) //
610616
.usesJdbcStyleParameters()) //
611617
.describedAs(testQuery) //
618+
.describedAs(testQuery) //
612619
.isFalse();
613620
}
614621

0 commit comments

Comments
 (0)