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