From 64dd4ce8d3ae5b8bb71375a1001607efed62c3d0 Mon Sep 17 00:00:00 2001 From: timis1 Date: Thu, 15 Jun 2023 20:59:56 +0300 Subject: [PATCH] JAVA-20167 Adding additional example for Spring data derived query --- .../derivedquery/repository/UserRepository.java | 4 ++++ .../repository/UserRepositoryIntegrationTest.java | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/persistence-modules/spring-data-jpa-repo/src/main/java/com/baeldung/derivedquery/repository/UserRepository.java b/persistence-modules/spring-data-jpa-repo/src/main/java/com/baeldung/derivedquery/repository/UserRepository.java index 8f86e8ce49..4b2d6c11af 100644 --- a/persistence-modules/spring-data-jpa-repo/src/main/java/com/baeldung/derivedquery/repository/UserRepository.java +++ b/persistence-modules/spring-data-jpa-repo/src/main/java/com/baeldung/derivedquery/repository/UserRepository.java @@ -58,6 +58,10 @@ public interface UserRepository extends JpaRepository { List findByNameOrBirthDateAndActive(@Param(value = "nameParam") String nameParam, @Param(value = "birthDateParam") ZonedDateTime birthDateParam, @Param(value = "activeParam") Boolean activeParam); + List findByNameOrAge(String name, Integer age); + + List findByNameOrAgeAndActive(String name, Integer age, Boolean active); + List findByNameOrderByName(String name); List findByNameOrderByNameDesc(String name); diff --git a/persistence-modules/spring-data-jpa-repo/src/test/java/com/baeldung/derivedquery/repository/UserRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa-repo/src/test/java/com/baeldung/derivedquery/repository/UserRepositoryIntegrationTest.java index 75e0db253f..719f56e3cd 100644 --- a/persistence-modules/spring-data-jpa-repo/src/test/java/com/baeldung/derivedquery/repository/UserRepositoryIntegrationTest.java +++ b/persistence-modules/spring-data-jpa-repo/src/test/java/com/baeldung/derivedquery/repository/UserRepositoryIntegrationTest.java @@ -164,6 +164,18 @@ public class UserRepositoryIntegrationTest { assertEquals(2, userRepository.findByNameOrBirthDateAndActive(USER_NAME_ADAM, BIRTHDATE, false).size()); } + @Test + public void whenByNameOrAge() { + + assertEquals(2, userRepository.findByNameOrAge(USER_NAME_ADAM, 20).size()); + } + + @Test + public void whenByNameOrAgeAndActive() { + + assertEquals(3, userRepository.findByNameOrAgeAndActive(USER_NAME_ADAM, 20, false).size()); + } + @Test public void whenByNameOrderByName() {