From c5cc99714be9bc9c7cacb7f2b76bc703b5e95264 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 22 Mar 2023 11:42:30 -0500 Subject: [PATCH] Verify that correct alias is picked amidst multiple aliases. Resolves #2074. --- .../data/jpa/repository/query/HqlQueryTransformerTests.java | 5 +++++ .../data/jpa/repository/query/JpqlQueryTransformerTests.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryTransformerTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryTransformerTests.java index d6050091d..b3a6bcf40 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryTransformerTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryTransformerTests.java @@ -793,6 +793,11 @@ class HqlQueryTransformerTests { "select e from SampleEntity e where function('nativeFunc', ?1) > 'testVal' order by function('nativeFunc', ?1), e.age desc"); } + @Test // GH-2074 + void queryParserPicksCorrectAliasAmidstMultipleAlises() { + assertThat(alias("select u from User as u left join u.roles as r")).isEqualTo("u"); + } + private void assertCountQuery(String originalQuery, String countQuery) { assertThat(createCountQueryFor(originalQuery)).isEqualTo(countQuery); } diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryTransformerTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryTransformerTests.java index 557df5515..d63cbd26d 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryTransformerTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryTransformerTests.java @@ -674,6 +674,11 @@ class JpqlQueryTransformerTests { + "GROUP BY i2.field.id, i2.version)", sort)).endsWith("order by i.age desc"); } + @Test // GH-2074 + void queryParserPicksCorrectAliasAmidstMultipleAlises() { + assertThat(alias("select u from User as u left join u.roles as r")).isEqualTo("u"); + } + private void assertCountQuery(String originalQuery, String countQuery) { assertThat(createCountQueryFor(originalQuery)).isEqualTo(countQuery); }