criteria = createCriteria("employee");
criteria.add(Restrictions.eq("name", "John"));
criteria.addOrder(Order.asc("city"));
criteria.addOrder(Order.asc("state"));
List result = criteria.list();
このステートメントは、Employee
オブジェクトのリストを返します。重複したデータを削除するには、従業員オブジェクトの代わりにSet
を返すようにするにはどうすればよいですか?休止状態のリストの代わりにセットを返します。基準
私は、以下のように返されたリストのセットを作成することでこれを実現できますが、リストのソート順を失うことは理解しています。そして、私はセットをソートするコードを書く必要はありません。コメントやjavadocとして
Set<Employee> empSet = new HashSet<Employee>(result);
あなたは 'LinkedHashSet'を使ってみましたか?それは注文を保存すると思います。 – yamafontes
多分それは助けてくれるはずです:[can-hibernate-return-a-result-objects-of-a-list](http://stackoverflow.com/questions/416970/can-hibernate-return-結果収集オブジェクトのリスト以外のもの) – baltov
あなたはこれをお探しですか? http://stackoverflow.com/questions/10731723/how-to-add-distinct-in-hibernate-criteria – Taylor