DATAJPA-108 - Added support for GreaterThanEqual and LessThanEqual.
This commit is contained in:
@@ -306,8 +306,12 @@ public class JpaQueryCreator extends AbstractQueryCreator<CriteriaQuery<Object>,
|
||||
return builder.between(getComparablePath(root, part), first, second);
|
||||
case GREATER_THAN:
|
||||
return builder.greaterThan(getComparablePath(root, part), provider.next(Comparable.class));
|
||||
case GREATER_THAN_EQUAL:
|
||||
return builder.greaterThanOrEqualTo(getComparablePath(root, part), provider.next(Comparable.class));
|
||||
case LESS_THAN:
|
||||
return builder.lessThan(getComparablePath(root, part), provider.next(Comparable.class));
|
||||
case LESS_THAN_EQUAL:
|
||||
return builder.lessThanOrEqualTo(getComparablePath(root, part), provider.next(Comparable.class));
|
||||
case IS_NULL:
|
||||
return path.isNull();
|
||||
case IS_NOT_NULL:
|
||||
|
||||
@@ -45,6 +45,7 @@ public class User {
|
||||
private Integer id;
|
||||
private String firstname;
|
||||
private String lastname;
|
||||
private int age;
|
||||
|
||||
@Column(nullable = false, unique = true)
|
||||
private String emailAddress;
|
||||
@@ -138,6 +139,20 @@ public class User {
|
||||
this.lastname = lastname;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the age
|
||||
*/
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param age the age to set
|
||||
*/
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the email address.
|
||||
*
|
||||
|
||||
@@ -80,8 +80,11 @@ public class UserRepositoryTests {
|
||||
public void setUp() {
|
||||
|
||||
firstUser = new User("Oliver", "Gierke", "gierke@synyx.de");
|
||||
firstUser.setAge(28);
|
||||
secondUser = new User("Joachim", "Arrasz", "arrasz@synyx.de");
|
||||
secondUser.setAge(35);
|
||||
thirdUser = new User("Dave", "Matthews", "no@email.com");
|
||||
thirdUser.setAge(43);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -737,6 +740,26 @@ public class UserRepositoryTests {
|
||||
assertThat(result.getTotalPages(), is(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void executesLessThatOrEqualQueriesCorrectly() {
|
||||
|
||||
flushTestUsers();
|
||||
|
||||
List<User> result = repository.findByAgeLessThanEqual(35);
|
||||
assertThat(result.size(), is(2));
|
||||
assertThat(result, hasItems(firstUser, secondUser));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void executesGreaterThatOrEqualQueriesCorrectly() {
|
||||
|
||||
flushTestUsers();
|
||||
|
||||
List<User> result = repository.findByAgeGreaterThanEqual(35);
|
||||
assertThat(result.size(), is(2));
|
||||
assertThat(result, hasItems(secondUser, thirdUser));
|
||||
}
|
||||
|
||||
private Page<User> executeSpecWithSort(Sort sort) {
|
||||
|
||||
flushTestUsers();
|
||||
|
||||
@@ -185,6 +185,10 @@ public interface UserRepository extends JpaRepository<User, Integer>, JpaSpecifi
|
||||
|
||||
List<User> findByLastnameAndFirstnameAllIgnoringCase(String lastname, String firstname);
|
||||
|
||||
List<User> findByAgeGreaterThanEqual(int age);
|
||||
|
||||
List<User> findByAgeLessThanEqual(int age);
|
||||
|
||||
/**
|
||||
* @see DATADOC-86 - Count execution for group by
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user