criteria = createCriteria("employee");
criteria.add(Restrictions.eq("name", "John"));
criteria.addOrder(Order.asc("city"));
criteria.addOrder(Order.asc("state"));
List result = criteria.list();
此語句返回一個Employee
對象的列表。我怎樣才能讓它返回一個Employee對象的Set
來代替重複的數據?返回一個集合而不是休眠列表條件
我明白我可以通過創建一個如下所示的返回列表來實現這一點,但然後我會失去列表的排序順序。我不想編寫代碼來排序集合。
Set<Employee> empSet = new HashSet<Employee>(result);
您是否嘗試過使用LinkedHashSet?這將保持秩序,我想。 – yamafontes
也許應該有所幫助:[can-hibernate-return-a-collection-of-result-objects-other-than-a-list](http://stackoverflow.com/questions/416970/can-hibernate-return- a-collection-of-results-objects-other-a-list) – baltov
你是在找這個嗎? http://stackoverflow.com/questions/10731723/how-to-add-distinct-in-hibernate-criteria – Taylor