Skip to content

Commit cfeb314

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 d463f5f commit cfeb314

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
@@ -64,6 +64,7 @@
6464
* @author Geoffrey Deremetz
6565
* @author Yanming Zhou
6666
* @author Christoph Strobl
67+
* @author Diego Pedregal
6768
* @since 2.7.0
6869
*/
6970
public class JSqlParserQueryEnhancer implements QueryEnhancer {
@@ -237,7 +238,7 @@ private static String detectProjection(Statement statement) {
237238
}
238239

239240
StringJoiner joiner = new StringJoiner(", ");
240-
for (SelectItem<?> selectItem : ((PlainSelect) selectBody).getSelectItems()) {
241+
for (SelectItem<?> selectItem : selectBody.getPlainSelect().getSelectItems()) {
241242
joiner.add(selectItem.toString());
242243
}
243244
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
@@ -257,4 +257,13 @@ static Stream<Arguments> mergeStatementWorksSource() {
257257
null));
258258
}
259259

260+
@Test // GH-3869
261+
void shouldWorkWithoutFromClause() {
262+
String query = "SELECT is_contained_in(:innerId, :outerId)";
263+
264+
StringQuery stringQuery = new StringQuery(query, true);
265+
266+
assertThat(stringQuery.getQueryString()).isEqualTo(query);
267+
}
268+
260269
}

0 commit comments

Comments
 (0)