|
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