首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

hibernate 分页,查寻总记录数

2012-06-27 
hibernate 分页,查找总记录数public EmailBean[] findByPage(Date begin, Date end, String emailreferenc

hibernate 分页,查找总记录数

public EmailBean[] findByPage(Date begin, Date end, String emailreference, int pageNo, final int pageSize, String status) throws AIException {List<EmailBean> emails = new ArrayList<EmailBean>();try {Session s = getSessionFactory().getCurrentSession();Criteria hcriteria = s.createCriteria(EmailBean.class);if (begin != null && end != null) {hcriteria.add(Restrictions.between("creation", begin, end));}if (emailreference != null && !emailreference.isEmpty()) {hcriteria.add(Restrictions.ilike("mailName", emailreference));}if (status != null && !status.isEmpty()) {hcriteria.createAlias("status", "s");hcriteria.add(Restrictions.eq("s.statusname", status));}//Total record numberint totalCount = ((Integer) hcriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();hcriteria.setProjection( null );hcriteria.addOrder(Order.desc("creation")).setFirstResult((pageNo - 1)*pageSize).setMaxResults(pageSize);emails = hcriteria.list();Hibernate.initialize(emails);} catch (Exception e) {_logger.error(e.fillInStackTrace());throw new AIException("Error when retrieving emails");}return emails.toArray(new EmailBean[emails.size()]);}

热点排行