Skip to content

Commit eaff212

Browse files
Add support for JPA 3.2 additions to EQL.
See: #3136 Original Pull Request: #3695
1 parent 3ba411d commit eaff212

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Eql.g4

+2
Original file line numberDiff line numberDiff line change
@@ -833,6 +833,8 @@ reserved_word
833833
|OR
834834
|ORDER
835835
|OUTER
836+
|REPLACE
837+
|RIGHT
836838
|POWER
837839
|REPLACE
838840
|RIGHT

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

+11-1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ class JpqlSortedQueryTransformer extends JpqlQueryRenderer {
5555
@Override
5656
public QueryTokenStream visitSelect_statement(JpqlParser.Select_statementContext ctx) {
5757

58+
if(ctx.select_query() != null) {
59+
return visitSelect_query(ctx.select_query());
60+
}
61+
62+
return QueryTokenStream.empty();
63+
}
64+
65+
@Override
66+
public QueryTokenStream visitSelect_query(JpqlParser.Select_queryContext ctx) {
67+
5868
QueryRendererBuilder builder = QueryRenderer.builder();
5969

6070
builder.appendExpression(visit(ctx.select_clause()));
@@ -101,7 +111,7 @@ public QueryTokenStream visitSelect_clause(JpqlParser.Select_clauseContext ctx)
101111
return builder.append(dtoDelegate.transformSelectionList(tokenStream));
102112
}
103113

104-
private void doVisitOrderBy(QueryRendererBuilder builder, JpqlParser.Select_statementContext ctx) {
114+
private void doVisitOrderBy(QueryRendererBuilder builder, JpqlParser.Select_queryContext ctx) {
105115

106116
if (ctx.orderby_clause() != null) {
107117
QueryTokenStream existingOrder = visit(ctx.orderby_clause());

0 commit comments

Comments
 (0)