File tree 2 files changed +30
-2
lines changed
main/java/org/springframework/data/jpa/repository/query
test/java/org/springframework/data/jpa/repository/query
2 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -89,8 +89,8 @@ public abstract class QueryUtils {
89
89
// Z Separator
90
90
// Cc Control
91
91
// Cf Format
92
- // P Punctuation
93
- private static final String IDENTIFIER = "[._[\\ P{Z}&&\\ P{Cc}&&\\ P{Cf}&&\\ P{P }]]+" ;
92
+ // Punct Punctuation
93
+ private static final String IDENTIFIER = "[._$# [\\ P{Z}&&\\ P{Cc}&&\\ P{Cf}&&\\ P{Punct }]]+" ;
94
94
static final String COLON_NO_DOUBLE_COLON = "(?<![:\\ \\ ]):" ;
95
95
static final String IDENTIFIER_GROUP = String .format ("(%s)" , IDENTIFIER );
96
96
Original file line number Diff line number Diff line change @@ -540,6 +540,34 @@ public void isNotDefaultProjection() {
540
540
softly .assertAll ();
541
541
}
542
542
543
+ @ Test // DATAJPA-1652
544
+ public void usingPipesWithNamedParameter () {
545
+
546
+ String queryString = "SELECT u FROM User u WHERE u.lastname LIKE '%'||:name||'%'" ;
547
+ StringQuery query = new StringQuery (queryString );
548
+
549
+ softly .assertThat (query .getQueryString ()).isEqualTo (queryString );
550
+ softly .assertThat (query .hasParameterBindings ()).isTrue ();
551
+ softly .assertThat (query .getParameterBindings ()).hasSize (1 );
552
+ softly .assertThat (query .getParameterBindings ().get (0 ).getName ()).isEqualTo ("name" );
553
+
554
+ softly .assertAll ();
555
+ }
556
+
557
+ @ Test // DATAJPA-1652
558
+ public void usingGreaterThanWithNamedParameter () {
559
+
560
+ String queryString = "SELECT u FROM User u WHERE :age<u.age" ;
561
+ StringQuery query = new StringQuery (queryString );
562
+
563
+ softly .assertThat (query .getQueryString ()).isEqualTo (queryString );
564
+ softly .assertThat (query .hasParameterBindings ()).isTrue ();
565
+ softly .assertThat (query .getParameterBindings ()).hasSize (1 );
566
+ softly .assertThat (query .getParameterBindings ().get (0 ).getName ()).isEqualTo ("age" );
567
+
568
+ softly .assertAll ();
569
+ }
570
+
543
571
public void checkNumberOfNamedParameters (String query , int expectedSize , String label ) {
544
572
545
573
DeclaredQuery declaredQuery = DeclaredQuery .of (query );
You can’t perform that action at this time.
0 commit comments