Skip to content

Commit 7520e29

Browse files
thmaskermp911de
authored andcommitted
Removes PlainSelect casting in JSqlParserQueryEnhancer.
Closes: #3869 Original pull request: #3870 Signed-off-by: Diego Pedregal <[email protected]>
1 parent 2a4559c commit 7520e29

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
* @author Geoffrey Deremetz
6767
* @author Yanming Zhou
6868
* @author Christoph Strobl
69+
* @author Diego Pedregal
6970
* @since 2.7.0
7071
*/
7172
public class JSqlParserQueryEnhancer implements QueryEnhancer {
@@ -241,7 +242,7 @@ private static String detectProjection(Statement statement) {
241242
}
242243

243244
StringJoiner joiner = new StringJoiner(", ");
244-
for (SelectItem<?> selectItem : ((PlainSelect) selectBody).getSelectItems()) {
245+
for (SelectItem<?> selectItem : selectBody.getPlainSelect().getSelectItems()) {
245246
joiner.add(selectItem.toString());
246247
}
247248
return joiner.toString().trim();

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,4 +263,13 @@ private static DefaultQueryRewriteInformation getRewriteInformation(Sort sort) {
263263
ReturnedType.of(Object.class, Object.class, new SpelAwareProxyProjectionFactory()));
264264
}
265265

266+
@Test // GH-3869
267+
void shouldWorkWithoutFromClause() {
268+
String query = "SELECT is_contained_in(:innerId, :outerId)";
269+
270+
StringQuery stringQuery = new StringQuery(query, true);
271+
272+
assertThat(stringQuery.getQueryString()).isEqualTo(query);
273+
}
274+
266275
}

0 commit comments

Comments
 (0)