2

名前と作成日を含むテーブル 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;
}
4

1 に答える 1

6

おそらく、上位の結果を返す read メソッド、 a を返すメソッド、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

于 2011-10-26T11:15:48.777 に答える