我有一个包含名称和创建日期的表USERS,以及一个api函数
T read(Criterion... criteria)
按标准搜索我无法改变。
我的问题是该函数返回了crit.uniqueResult()但有时标准提供了许多名称(在这种情况下,我只想要具有最新日期的名称)。 如何添加标准以确保仅返回最新名称?
public T read(Criterion... criteria){
Criteria crit = getSession(false).createCriteria(this.type);
for (Criterion c : criteria)
{
crit.add(c);
}
T entity = (T)crit.uniqueResult();
return entity;
}
答案 0 :(得分:5)
也许你可以有一个返回顶部结果的read方法,一个返回List<T>
的方法和一个你要返回的结果数。
例如,您可以使用最大结果设置
criteria.setMaxResults(1);
List<T> results = criteria.list();
return results.get(0);
http://docs.jboss.org/hibernate/core/3.2/api/org/hibernate/Criteria.html#setMaxResults%28int%29