DATAJPA-94 - Repository queries consider Sort instance in a Pageable again.
This commit is contained in:
committed by
Oliver Gierke
parent
fcb4992983
commit
b8b88dd0ef
@@ -167,7 +167,7 @@ public class PartTreeJpaQuery extends AbstractJpaQuery {
|
||||
|
||||
private Sort getDynamicSort(Object[] values) {
|
||||
|
||||
return parameters.hasSortParameter() ? new ParametersParameterAccessor(
|
||||
return parameters.potentiallySortsDynamically() ? new ParametersParameterAccessor(
|
||||
parameters, values).getSort() : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.domain.Sort.Direction;
|
||||
import org.springframework.data.jpa.domain.sample.User;
|
||||
import org.springframework.data.jpa.repository.sample.UserRepository;
|
||||
import org.springframework.data.repository.query.QueryLookupStrategy;
|
||||
@@ -155,4 +157,26 @@ public class UserRepositoryFinderTests {
|
||||
assertThat(result.size(), is(1));
|
||||
assertThat(result.get(0), is(oliver));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void respectsPageableOrderOnQueryGenerateFromMethodName()
|
||||
throws Exception {
|
||||
|
||||
Page<User> ascending =
|
||||
userRepository.findByLastnameLike(new PageRequest(0, 10,
|
||||
new Sort(Direction.ASC, "firstname")), "Matthews");
|
||||
Page<User> descending =
|
||||
userRepository.findByLastnameLike(new PageRequest(0, 10,
|
||||
new Sort(Direction.DESC, "firstname")), "Matthews");
|
||||
assertThat(ascending.getTotalElements(), is(2L));
|
||||
assertThat(descending.getTotalElements(), is(2L));
|
||||
assertThat(ascending.getContent().get(0).getFirstname(),
|
||||
is(not(equalTo(descending.getContent().get(0).getFirstname()))));
|
||||
assertThat(ascending.getContent().get(0).getFirstname(),
|
||||
is(equalTo(descending.getContent().get(1).getFirstname())));
|
||||
assertThat(ascending.getContent().get(1).getFirstname(),
|
||||
is(equalTo(descending.getContent().get(0).getFirstname())));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -215,4 +215,7 @@ public interface UserRepository extends JpaRepository<User, Integer>,
|
||||
|
||||
|
||||
List<User> findBySpringDataNamedQuery(String lastname);
|
||||
|
||||
|
||||
Page<User> findByLastnameLike(Pageable pageable, String lastname);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user