From 62f4021888deba97546718e8086bd07083036c10 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Fri, 17 Apr 2020 11:05:36 +0200 Subject: [PATCH 1/2] DATAJPA-1713 - Prepare branch --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b9faee5398..edafbe0a08 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-jpa - 2.3.0.BUILD-SNAPSHOT + 2.3.0.DATAJPA-1713-SNAPSHOT Spring Data JPA Spring Data module for JPA repositories. From e1b660e9136acd71199c66a22d70f981e6c89a4e Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Fri, 17 Apr 2020 11:27:09 +0200 Subject: [PATCH 2/2] DATAJPA-1713 - adds a test reproducing the issue. Signed-off-by: Jens Schauder --- .../jpa/repository/UserRepositoryFinderTests.java | 13 +++++++++++++ .../data/jpa/repository/sample/UserRepository.java | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/src/test/java/org/springframework/data/jpa/repository/UserRepositoryFinderTests.java b/src/test/java/org/springframework/data/jpa/repository/UserRepositoryFinderTests.java index f0fe0e1d90..8389434beb 100644 --- a/src/test/java/org/springframework/data/jpa/repository/UserRepositoryFinderTests.java +++ b/src/test/java/org/springframework/data/jpa/repository/UserRepositoryFinderTests.java @@ -281,4 +281,17 @@ public void rejectsStreamExecutionIfNoSurroundingTransactionActive() { public void executesNamedQueryWithConstructorExpression() { userRepository.findByNamedQueryWithConstructorExpression(); } + + @Test // DATAJPA-1713 + public void selectProjectionWithSubselect() { + + List list = userRepository.findProjectionBySubselect(); + assertThat(list).isNotEmpty() // + .allSatisfy(no -> { + + assertThat(no.getFirstname()).describedAs("firstname").isNotNull(); + assertThat(no.getLastname()).describedAs("lastname").isNotNull(); + }); + + } } diff --git a/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java b/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java index 076235e282..ccf9bd8a90 100644 --- a/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java +++ b/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java @@ -612,6 +612,10 @@ Page findAllOrderedBySpecialNameMultipleParams(@Param("name") String name, // DATAJPA-1303 Page findByAttributesIgnoreCaseIn(Pageable pageable, String... attributes); + // DATAJPA-1713 + @Query("select u from User u where firstname >= (select Min(u0.firstname) from User u0 )") + List findProjectionBySubselect(); + interface RolesAndFirstname { String getFirstname();