|
41 | 41 | * @author Diego Krupitza
|
42 | 42 | * @author Mark Paluch
|
43 | 43 | * @author Aleksei Elin
|
| 44 | + * @author Gunha Hwang |
44 | 45 | */
|
45 | 46 | class DefaultEntityQueryUnitTests {
|
46 | 47 |
|
@@ -740,32 +741,32 @@ private void checkAlias(String query, String expected, String description, boole
|
740 | 741 | @Test // DATAJPA-1200
|
741 | 742 | void testHasNamedParameter() {
|
742 | 743 |
|
743 |
| - checkHasNamedParameter("select something from x where id = :id", true, "named parameter", true); |
744 |
| - checkHasNamedParameter("in the :id middle", true, "middle", false); |
745 |
| - checkHasNamedParameter(":id start", true, "beginning", false); |
746 |
| - checkHasNamedParameter(":id", true, "alone", false); |
747 |
| - checkHasNamedParameter("select something from x where id = :id", true, "named parameter", true); |
748 |
| - checkHasNamedParameter(":UPPERCASE", true, "uppercase", false); |
749 |
| - checkHasNamedParameter(":lowercase", true, "lowercase", false); |
750 |
| - checkHasNamedParameter(":2something", true, "beginning digit", false); |
751 |
| - checkHasNamedParameter(":2", true, "only digit", false); |
752 |
| - checkHasNamedParameter(":.something", true, "dot", false); |
753 |
| - checkHasNamedParameter(":_something", true, "underscore", false); |
754 |
| - checkHasNamedParameter(":$something", true, "dollar", false); |
755 |
| - checkHasNamedParameter(":\uFE0F", true, "non basic latin emoji", false); // |
756 |
| - checkHasNamedParameter(":\u4E01", true, "chinese japanese korean", false); |
757 |
| - |
758 |
| - checkHasNamedParameter("no bind variable", false, "no bind variable", false); |
759 |
| - checkHasNamedParameter(":\u2004whitespace", false, "non basic latin whitespace", false); |
760 |
| - checkHasNamedParameter("select something from x where id = ?1", false, "indexed parameter", true); |
761 |
| - checkHasNamedParameter("::", false, "double colon", false); |
762 |
| - checkHasNamedParameter(":", false, "end of query", false); |
763 |
| - checkHasNamedParameter(":\u0003", false, "non-printable", false); |
764 |
| - checkHasNamedParameter(":*", false, "basic latin emoji", false); |
765 |
| - checkHasNamedParameter("\\:", false, "escaped colon", false); |
766 |
| - checkHasNamedParameter("::id", false, "double colon with identifier", false); |
767 |
| - checkHasNamedParameter("\\:id", false, "escaped colon with identifier", false); |
768 |
| - checkHasNamedParameter("select something from x where id = #something", false, "hash", true); |
| 744 | + checkHasNamedParameter("select something from x where id = :id", true, "named parameter"); |
| 745 | + checkHasNamedParameter("in the :id middle", true, "middle"); |
| 746 | + checkHasNamedParameter(":id start", true, "beginning"); |
| 747 | + checkHasNamedParameter(":id", true, "alone"); |
| 748 | + checkHasNamedParameter("select something from x where id = :id", true, "named parameter"); |
| 749 | + checkHasNamedParameter(":UPPERCASE", true, "uppercase"); |
| 750 | + checkHasNamedParameter(":lowercase", true, "lowercase"); |
| 751 | + checkHasNamedParameter(":2something", true, "beginning digit"); |
| 752 | + checkHasNamedParameter(":2", true, "only digit"); |
| 753 | + checkHasNamedParameter(":.something", true, "dot"); |
| 754 | + checkHasNamedParameter(":_something", true, "underscore"); |
| 755 | + checkHasNamedParameter(":$something", true, "dollar"); |
| 756 | + checkHasNamedParameter(":\uFE0F", true, "non basic latin emoji"); // |
| 757 | + checkHasNamedParameter(":\u4E01", true, "chinese japanese korean"); |
| 758 | + |
| 759 | + checkHasNamedParameter("no bind variable", false, "no bind variable"); |
| 760 | + checkHasNamedParameter(":\u2004whitespace", false, "non basic latin whitespace"); |
| 761 | + checkHasNamedParameter("select something from x where id = ?1", false, "indexed parameter"); |
| 762 | + checkHasNamedParameter("::", false, "double colon"); |
| 763 | + checkHasNamedParameter(":", false, "end of query"); |
| 764 | + checkHasNamedParameter(":\u0003", false, "non-printable"); |
| 765 | + checkHasNamedParameter(":*", false, "basic latin emoji"); |
| 766 | + checkHasNamedParameter("\\:", false, "escaped colon"); |
| 767 | + checkHasNamedParameter("::id", false, "double colon with identifier"); |
| 768 | + checkHasNamedParameter("\\:id", false, "escaped colon with identifier"); |
| 769 | + checkHasNamedParameter("select something from x where id = #something", false, "hash"); |
769 | 770 | }
|
770 | 771 |
|
771 | 772 | @Test // DATAJPA-1235
|
@@ -929,10 +930,10 @@ void checkNumberOfNamedParameters(String query, int expectedSize, String label,
|
929 | 930 | .hasSize(expectedSize);
|
930 | 931 | }
|
931 | 932 |
|
932 |
| - private void checkHasNamedParameter(String query, boolean expected, String label, boolean nativeQuery) { |
| 933 | + private void checkHasNamedParameter(String query, boolean expected, String label) { |
933 | 934 |
|
934 |
| - DeclaredQuery source = nativeQuery ? DeclaredQuery.nativeQuery(query) : DeclaredQuery.jpqlQuery(query); |
935 |
| - PreprocessedQuery bindableQuery = PreprocessedQuery.ParameterBindingParser.INSTANCE.parse(source.getQueryString(), |
| 935 | + DeclaredQuery source = DeclaredQuery.jpqlQuery(query); |
| 936 | + PreprocessedQuery bindableQuery = PreprocessedQuery.ParameterBindingParser.INSTANCE.parse(query, |
936 | 937 | source::rewrite, it -> {});
|
937 | 938 |
|
938 | 939 | assertThat(bindableQuery.getBindings().stream().anyMatch(it -> it.getIdentifier().hasName())) //
|
|
0 commit comments