Modified:
/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java
=======================================
---
/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java
Thu Jan 7 09:56:19 2010
+++
/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java
Fri Dec 2 02:55:12 2011
@@ -76,6 +76,17 @@
*/
Page<T> searchPaginatedByCriteria(int page, int pageSize,
DetachedCriteria criteria);
+ /**
+ * Search using a criteria with pagination without counting the total
records.
+ *
+ * @param page The requested page index.
+ * @param pageSize The page width, i.e. the max number of elements on
each page.
+ * @param totalRecords The (supposed or pre-calculated) total number
of records from the execution of the query.
+ * @param criteria The Criteria.
+ * @return The result of the search with the provided criteria.
+ */
+ Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords, DetachedCriteria criteria);
+
/**
* Count on the result of a search using a Criteria.
*
=======================================
---
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java
Sun Mar 6 01:19:55 2011
+++
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java
Fri Dec 2 02:55:12 2011
@@ -253,6 +253,15 @@
return new PageDefaultImpl<T>(list, page, pageSize, rowCount);
}
+ @Override
+ public Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords,
+ DetachedCriteria criteria) {
+ List<T> list = getHibernateTemplate().
+ findByCriteria(criteria, (page - 1) * pageSize, pageSize);
+
+ return new PageDefaultImpl<T>(list, page, pageSize, totalRecords);
+ }
+
/**
* {@inheritDoc}
*
=======================================
---
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java
Thu Dec 1 10:46:34 2011
+++
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java
Fri Dec 2 02:55:12 2011
@@ -204,6 +204,23 @@
return new PageDefaultImpl<T>(list, page, pageSize, rowCount);
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @param page {@inheritDoc}
+ * @param pageSize {@inheritDoc}
+ * @param totalRecords {@inheritDoc}
+ * @param criteria {@inheritDoc}
+ * @return {@inheritDoc}
+ */
+ public Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords,
+ DetachedCriteria criteria) {
+ List<T> list = getCustomizedHibernateTemplate().
+ findByCriteria(criteria, (page - 1) * pageSize, pageSize);
+
+ return new PageDefaultImpl<T>(list, page, pageSize, totalRecords);
+ }
/**
* {@inheritDoc}