2013-10-03 61 views
2

這裏是我的問題我有一個DetachedCriteria如下,我只需要一個需要獲取最大ID的記錄。但截至目前,我從列表中提取記錄列表,並從那裏獲取記錄,並使用for循環的max id。休眠setMaxresults與Detachedcriteria將無法正常工作

DetachedCriteria criteria = DetachedCriteria.forClass(ContactList.class); 
     criteria.add(Restrictions.eq("userId", id)); 

List contactList = getHibernateTemplate().findByCriteria(criteria); 

從contactList我發現與最大Id與獨立循環recored。

我的問題是,有沒有辦法在DetachedCriteria本身添加限制。 我試過setMaxResults,但它不工作。

回答

2
DetachedCriteria criteria = DetachedCriteria.forClass(ContactList.class); 
criteria.add(Restrictions.eq("userId", id)).setProjection(Projections.max("useId")); 

List contactList = getHibernateTemplate().findByCriteria(criteria); 

Projection.max將retriev從表最大值記錄在休眠