Ho un'applicazione Java EE e utilizzo Hibernate. Gli oggetti del dominio, ho modificato List/ArrayList su Set/HashSet, perché è meglio usare Sets.Hibernate -> ArrayList non può essere lanciato su Set
Ma nella mia implementazione Dao mi imbatto in un problema:
public Set<Person> getAllPersons() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session sess = sessionFactory.getCurrentSession();
Transaction tx = sess.beginTransaction();
@SuppressWarnings("unchecked")
Set<Item> items = (Set<Item>) sess.createQuery("from Item").list();
tx.commit();
return items;
}
Qui ho un errore:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set
Cosa posso fare per evitare questo errore?
Grazie in anticipo & I migliori saluti.
Sei sicuro di sapere qual è la differenza tra un set e un elenco? Perché in nessun modo è "meglio" usare un Set. Puoi usare Sets ogni volta che vuoi una singola istanza di un oggetto nella tua collezione, mentre puoi avere più istanze dello stesso oggetto in una lista. – LeChe