Skip to content

Commit 3465c34

Browse files
shubhi22maibin
authored andcommitted
Bael 2826 case insensitive spring data jpa (eugenp#6625)
* BAEL-2826: Case Insensitive Comparison Spring data jpa * BAEL-2826: Fixing imports
1 parent 295b786 commit 3465c34

File tree

2 files changed

+38
-18
lines changed

2 files changed

+38
-18
lines changed

persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@ interface PassengerRepository extends JpaRepository<Passenger, Long>, CustomPass
1414
List<Passenger> findByLastNameOrderBySeatNumberAsc(String lastName);
1515

1616
List<Passenger> findByLastName(String lastName, Sort sort);
17+
18+
List<Passenger> findByFirstNameIgnoreCase(String firstName);
19+
1720
}

persistence-modules/spring-data-jpa/src/test/java/com/baeldung/passenger/PassengerRepositoryIntegrationTest.java

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
package com.baeldung.passenger;
22

3-
import static org.hamcrest.MatcherAssert.assertThat;
4-
import static org.hamcrest.Matchers.contains;
5-
import static org.hamcrest.core.IsNot.not;
6-
import static org.junit.Assert.assertEquals;
7-
import static org.junit.Assert.assertTrue;
8-
9-
import java.util.List;
10-
import java.util.Optional;
11-
12-
import javax.persistence.EntityManager;
13-
import javax.persistence.PersistenceContext;
14-
153
import org.junit.Before;
164
import org.junit.Test;
175
import org.junit.runner.RunWith;
@@ -24,6 +12,17 @@
2412
import org.springframework.data.domain.Sort;
2513
import org.springframework.test.context.junit4.SpringRunner;
2614

15+
import javax.persistence.EntityManager;
16+
import javax.persistence.PersistenceContext;
17+
import java.util.List;
18+
import java.util.Optional;
19+
20+
import static org.hamcrest.MatcherAssert.assertThat;
21+
import static org.hamcrest.Matchers.contains;
22+
import static org.hamcrest.core.IsNot.not;
23+
import static org.junit.Assert.assertEquals;
24+
import static org.junit.Assert.assertTrue;
25+
2726
@DataJpaTest
2827
@RunWith(SpringRunner.class)
2928
public class PassengerRepositoryIntegrationTest {
@@ -152,18 +151,36 @@ public void givenPassengers_whenFindByIgnoringMatcher_thenExpectedReturned() {
152151
Passenger fred = Passenger.from("Fred", "Bloggs", 22);
153152
Passenger siya = Passenger.from("Siya", "Kolisi", 85);
154153
Passenger ricki = Passenger.from("Ricki", "Bobbie", 36);
155-
154+
156155
ExampleMatcher ignoringExampleMatcher = ExampleMatcher.matchingAny().withMatcher("lastName",
157-
ExampleMatcher.GenericPropertyMatchers.startsWith().ignoreCase()).withIgnorePaths("firstName", "seatNumber");
158-
156+
ExampleMatcher.GenericPropertyMatchers.startsWith().ignoreCase()).withIgnorePaths("firstName", "seatNumber");
157+
159158
Example<Passenger> example = Example.of(Passenger.from(null, "b", null),
160-
ignoringExampleMatcher);
161-
159+
ignoringExampleMatcher);
160+
162161
List<Passenger> passengers = repository.findAll(example);
163-
162+
164163
assertThat(passengers, contains(fred, ricki));
165164
assertThat(passengers, not(contains(jill)));
166165
assertThat(passengers, not(contains(eve)));
167166
assertThat(passengers, not(contains(siya)));
168167
}
168+
169+
@Test
170+
public void givenPassengers_whenMatchingIgnoreCase_thenExpectedReturned() {
171+
Passenger jill = Passenger.from("Jill", "Smith", 50);
172+
Passenger eve = Passenger.from("Eve", "Jackson", 95);
173+
Passenger fred = Passenger.from("Fred", "Bloggs", 22);
174+
Passenger siya = Passenger.from("Siya", "Kolisi", 85);
175+
Passenger ricki = Passenger.from("Ricki", "Bobbie", 36);
176+
177+
List<Passenger> passengers = repository.findByFirstNameIgnoreCase("FRED");
178+
179+
assertThat(passengers, contains(fred));
180+
assertThat(passengers, not(contains(eve)));
181+
assertThat(passengers, not(contains(siya)));
182+
assertThat(passengers, not(contains(jill)));
183+
assertThat(passengers, not(contains(ricki)));
184+
185+
}
169186
}

0 commit comments

Comments
 (0)