Tengo una aplicación Java EE y uso Hibernate. Los objetos del dominio, cambié List/ArrayList a Set/HashSet, porque es mejor usar Sets.Hibernate -> ArrayList no se puede convertir a Set
Pero en mi aplicación Dao me encuentro con 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;
}
Aquí me sale un error:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set
¿Qué puedo hacer para evitar este error?
Gracias de antemano & Atentamente.
¿Estás seguro de que sabes cuál es la diferencia entre un conjunto y una lista? Porque de ninguna manera es 'mejor' usar un Set. Utiliza Sets siempre que desee una instancia única de un objeto en su colección, mientras que puede tener varias instancias del mismo objeto en una lista. – LeChe