further pagination testing work
This commit is contained in:
parent
3e87601c17
commit
0552363098
@ -17,7 +17,6 @@ import org.hibernate.Session;
|
|||||||
import org.hibernate.SessionFactory;
|
import org.hibernate.SessionFactory;
|
||||||
import org.hibernate.criterion.Order;
|
import org.hibernate.criterion.Order;
|
||||||
import org.hibernate.criterion.Projections;
|
import org.hibernate.criterion.Projections;
|
||||||
import org.hibernate.criterion.Restrictions;
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -149,49 +148,32 @@ public class FooServicePaginationPersistenceIntegrationTest {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Test
|
@Test
|
||||||
public final void givenUsingTheScrollableApi_whenRetrievingPaginatedData_thenCorrect2() {
|
public final void givenUsingTheCriteriaApi_whenRetrievingFirstPage_thenCorrect() {
|
||||||
final int minId = 0;
|
|
||||||
final int maxId = 10;
|
|
||||||
|
|
||||||
final Criteria criteriaCount = session.createCriteria(Foo.class, "FOO");
|
|
||||||
criteriaCount.add(Restrictions.between("id", minId, maxId));
|
|
||||||
criteriaCount.addOrder(Order.asc("id"));
|
|
||||||
criteriaCount.setProjection(Projections.rowCount());
|
|
||||||
final Long count = (Long) criteriaCount.uniqueResult();
|
|
||||||
|
|
||||||
int pageNumber = 1;
|
|
||||||
final int pageSize = 10;
|
final int pageSize = 10;
|
||||||
final List<Foo> fooList = Lists.newArrayList();
|
|
||||||
|
|
||||||
final Criteria criteria = session.createCriteria(Foo.class, "FOO");
|
final Criteria criteria = session.createCriteria(Foo.class);
|
||||||
criteria.add(Restrictions.between("id", minId, maxId));
|
|
||||||
criteria.addOrder(Order.asc("id"));
|
criteria.addOrder(Order.asc("id"));
|
||||||
int totalEntities = 0;
|
criteria.setFirstResult(0);
|
||||||
while (totalEntities < count.intValue()) {
|
|
||||||
criteria.setFirstResult((pageNumber - 1) * pageSize);
|
|
||||||
criteria.setMaxResults(pageSize);
|
criteria.setMaxResults(pageSize);
|
||||||
fooList.addAll(criteria.list());
|
final List<Foo> firstPage = criteria.list();
|
||||||
totalEntities = fooList.size();
|
|
||||||
pageNumber++;
|
assertThat(firstPage, hasSize(pageSize));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Test
|
@Test
|
||||||
public final void givenUsingTheScrollableApi_whenRetrievingPaginatedData_thenCorrect3() {
|
public final void givenUsingTheCriteriaApi_whenRetrievingPaginatedData_thenCorrect() {
|
||||||
final int minId = 0;
|
final Criteria criteriaCount = session.createCriteria(Foo.class);
|
||||||
final int maxId = 10;
|
criteriaCount.addOrder(Order.asc("id"));
|
||||||
|
criteriaCount.setProjection(Projections.rowCount());
|
||||||
|
final Long count = (Long) criteriaCount.uniqueResult();
|
||||||
|
|
||||||
int pageNumber = 1;
|
int pageNumber = 1;
|
||||||
final int pageSize = 10;
|
final int pageSize = 10;
|
||||||
final List<Foo> fooList = Lists.newArrayList();
|
final List<Foo> fooList = Lists.newArrayList();
|
||||||
|
|
||||||
final Criteria criteria = session.createCriteria(Foo.class, "FOO");
|
final Criteria criteria = session.createCriteria(Foo.class);
|
||||||
final Criteria criteriaCount = session.createCriteria(Foo.class, "FOO");
|
|
||||||
criteria.add(Restrictions.between("id", minId, maxId));
|
|
||||||
criteria.addOrder(Order.asc("id"));
|
criteria.addOrder(Order.asc("id"));
|
||||||
criteriaCount.add(Restrictions.between("id", minId, maxId));
|
|
||||||
criteriaCount.addOrder(Order.asc("id"));
|
|
||||||
criteriaCount.setProjection(Projections.rowCount());
|
|
||||||
final Long count = (Long) criteriaCount.uniqueResult();
|
|
||||||
int totalEntities = 0;
|
int totalEntities = 0;
|
||||||
while (totalEntities < count.intValue()) {
|
while (totalEntities < count.intValue()) {
|
||||||
criteria.setFirstResult((pageNumber - 1) * pageSize);
|
criteria.setFirstResult((pageNumber - 1) * pageSize);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user