这是我的问题我有一个DetachedCriteria如下所示,我只需要一个需要获取最大ID的记录。但截至目前,我已将记录列表作为列表获取,并从那里获得使用for循环的最大ID记录。
DetachedCriteria criteria = DetachedCriteria.forClass(ContactList.class);
criteria.add(Restrictions.eq("userId", id));
List contactList = getHibernateTemplate().findByCriteria(criteria);
来自contactList我发现带有单独循环的最大Id的记录。
我的问题是,有没有办法在DetachedCriteria本身中添加该限制。 我尝试了setMaxResults,但它不起作用。
答案 0 :(得分:2)
DetachedCriteria criteria = DetachedCriteria.forClass(ContactList.class);
criteria.add(Restrictions.eq("userId", id)).setProjection(Projections.max("useId"));
List contactList = getHibernateTemplate().findByCriteria(criteria);
Projection.max将从hibernate中的表中检索最大值记录