From d232038d7fc87fc3acc60f2b74badb23d69257e9 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Mon, 10 Jul 2023 08:45:32 -0500 Subject: [PATCH] TYPE should be a valid attribute of an entity for a custom query. See #3062, #3056. --- .../org/springframework/data/jpa/repository/query/Jpql.g4 | 1 + .../data/jpa/repository/query/HqlQueryRendererTests.java | 7 +++++++ .../data/jpa/repository/query/JpqlQueryRendererTests.java | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 index 9f09273e91..13d6a24a79 100644 --- a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 +++ b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 @@ -604,6 +604,7 @@ identification_variable | OUTER | FLOOR | SIGN + | TYPE | VALUE) ; diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java index fcd151679e..48592afbf8 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java @@ -1549,4 +1549,11 @@ void binaryLiteralsShouldWork() { void escapeClauseShouldWork() { assertQuery("select t.name from SomeDbo t where t.name LIKE :name escape '\\\\'"); } + + @Test // GH-3062, GH-3056 + void typeShouldBeAValidParameter() { + + assertQuery("select e from Employee e where e.type = :_type"); + assertQuery("select te from TestEntity te where te.type = :type"); + } } diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java index 989e9319f7..f736c635be 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java @@ -941,4 +941,11 @@ void queryWithSignShouldWork() { void queryWithValueShouldWork() { assertQuery("select t.value from TestEntity t"); } + + @Test // GH-3062, GH-3056 + void typeShouldBeAValidParameter() { + + assertQuery("select e from Employee e where e.type = :_type"); + assertQuery("select te from TestEntity te where te.type = :type"); + } }