From 3084969a5603ae2e6f21abea567c62313619b929 Mon Sep 17 00:00:00 2001 From: reta Date: Sat, 28 Dec 2019 16:48:06 -0500 Subject: [PATCH 1/2] DATAJPA-1652: Using || (pipes) along with named parameters in custom queries raises an exception --- .../data/jpa/repository/query/QueryUtils.java | 4 +-- .../query/StringQueryUnitTests.java | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java index 589ab4f73e..20f509539b 100644 --- a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java +++ b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java @@ -89,8 +89,8 @@ public abstract class QueryUtils { // Z Separator // Cc Control // Cf Format - // P Punctuation - private static final String IDENTIFIER = "[._[\\P{Z}&&\\P{Cc}&&\\P{Cf}&&\\P{P}]]+"; + // Punct Punctuation + private static final String IDENTIFIER = "[._$#[\\P{Z}&&\\P{Cc}&&\\P{Cf}&&\\P{Punct}]]+"; static final String COLON_NO_DOUBLE_COLON = "(? Date: Mon, 6 Jan 2020 21:32:24 -0500 Subject: [PATCH 2/2] DATAJPA-1652: Addressing code review comments --- .../springframework/data/jpa/repository/query/QueryUtils.java | 3 ++- .../data/jpa/repository/query/StringQueryUnitTests.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java index 20f509539b..390686cc4e 100644 --- a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java +++ b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java @@ -79,6 +79,7 @@ * @author Florian Lüdiger * @author Grégoire Druant * @author Mohammad Hewedy + * @author Andriy Redko */ public abstract class QueryUtils { @@ -90,7 +91,7 @@ public abstract class QueryUtils { // Cc Control // Cf Format // Punct Punctuation - private static final String IDENTIFIER = "[._$#[\\P{Z}&&\\P{Cc}&&\\P{Cf}&&\\P{Punct}]]+"; + private static final String IDENTIFIER = "[._$[\\P{Z}&&\\P{Cc}&&\\P{Cf}&&\\P{Punct}]]+"; static final String COLON_NO_DOUBLE_COLON = "(?u.age"; StringQuery query = new StringQuery(queryString); softly.assertThat(query.getQueryString()).isEqualTo(queryString);