簡體   English   中英

春豆冬眠分頁怎么辦?

[英]How to do hibernate pagination in spring bean?

我有一個叫HostelDaoImplHostelDaoImpl 它使用休眠標准api檢索結果。

public class HostelDaoImpl extends AbstractGenericDao<Hostel, Integer> implements HostelDao {

    public HostelDaoImpl() {
        super(Hostel.class);
    }

    public List<Hostel> findHostelBy(HostelSearch hs) {
            Criteria criteria = currenSession().createCriteria(Hostel.class);
            criteria.setReadOnly(true);

            Calendar beginDate = hs.getBeginDate();
            String country = hs.getCountry();

            if (beginDate != null)
                criteria.add(Restrictions.le("beginDate", beginDate));

            if (country != null) {
                criteria.add(Restrictions.eq("country", country));
            }

            criteria.setProjection(Projections.rowCount());
            Integer foundHostelsCount = (Integer) criteria.uniqueResult();

            if (foundHostelsCount > 100) {
                // do pagination
            }
    }
}

現在,我需要分頁代替這些評論。 我只想創建一次Criteria ,然后將Criteria存儲在某個地方,並setMaxResults每次用戶請求新的數據部分時都調用CriteriasetFirstResultsetMaxResults

在哪里存儲Criteria ,如果春天豆HostelDaoImpl是單身,如果我創建實例變量Criteria criteria是同時不安全的。

條件存儲在哪里,以便線程安全?

但是,如果您知道在春豆中實現休眠分頁的更好方法,請提供它。

謝謝!

我正在使用Jquery插件JQGrid在表中顯示結果,並且休眠分頁非常容易。

http://jqgrid.com/

您可以使用pageRequest進行分頁。 遵循此鏈接上的步驟。 該鏈接非常有幫助。 該鏈接介紹了JSP頁面之前的所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM