criteria = createCriteria("employee");
criteria.add(Restrictions.eq("name", "John"));
criteria.addOrder(Order.asc("city"));
criteria.addOrder(Order.asc("state"));
List result = criteria.list();
Questa istruzione restituisce un elenco di Employee
oggetti. Come posso restituire uno Set
di oggetti Employee, al fine di rimuovere i dati duplicati?Restituisce un set al posto della lista con i criteri Hibernate
Capisco che posso raggiungere questo risultato creando un set dalla lista restituita come di seguito, ma poi perderei l'ordine di classificazione della lista. E non voglio dover scrivere codice per ordinare il set.
Set<Employee> empSet = new HashSet<Employee>(result);
Hai provato a utilizzare un 'LinkedHashSet'? Quello conserverà l'ordine, penso. – yamafontes
Forse questo dovrebbe aiutare: [can-hibernate-return-a-collection-of-result-objects-other-a-list] (http://stackoverflow.com/questions/416970/can-hibernate-return- a-collection-of-result-objects-other-a-list) – baltov
Stai cercando questo? http://stackoverflow.com/questions/10731723/how-to-add-distinct-in-hibernate-criteria – Taylor