2

这是我的问题,我有一个 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,但它不起作用。

4

1 回答 1

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

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

Projection.max 将从休眠表中检索最大值记录

于 2013-10-03T11:51:35.133 回答