现在的位置: 首页 > 综合 > 正文

DetachedCriteria前10条(Criteria)的用法

2017年12月27日 ⁄ 综合 ⁄ 共 880字 ⁄ 字号 评论关闭

DetachedCriteria不直接提供limit限制,而是需要借助Criteria来跳转一把!

关键代码是:

Criteria cri =  dc.getExecutableCriteria(sessionFactory.getCurrentSession());

cri.setMaxResults(10);

控制台得到的是:

Hibernate: 
    select
        this_.id as id7_0_,
        this_.devicePhoneNum as devicePh2_7_0_,
        this_.keywords as keywords7_0_,
        this_.searchDate as searchDate7_0_ 
    from
        ocnkm.dd_searchhistory this_ 
    where
        this_.devicePhoneNum=? 
    order by
        this_.searchDate desc limit ?

具体的代码:

@Resource
	SessionFactory sessionFactory;

@Override
	public List<DdSearchhistory> getSearchHistoryList(DdSearchhistory his) {
		DetachedCriteria dc = DetachedCriteria.forClass(DdSearchhistory.class);

		if(!ValidateUtils.isEmpty(his.getDevicePhoneNum())){
			dc.add(Restrictions.eq("devicePhoneNum", his.getDevicePhoneNum()));
		}

		dc.addOrder(Order.desc("searchDate"));
		
		Criteria cri =  dc.getExecutableCriteria(sessionFactory.getCurrentSession());
		
		cri.setMaxResults(10);
		
		return cri.list();
	}

抱歉!评论已关闭.