Ich habe eine Java EE-Anwendung und ich verwende Hibernate. Die Domain-Objekte, ich habe die List/ArrayList in Set/HashSet geändert, weil es besser ist, Sets zu verwenden.Hibernate -> ArrayList kann nicht in Set
Aber in meinem Dao Implementierung ich auf ein Problem stoßen:
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;
}
Hier bekomme ich einen Fehler:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set
Was kann ich tun, um diesen Fehler zu vermeiden?
Vielen Dank im Voraus & Mit freundlichen Grüßen.
Sind Sie sicher, dass Sie wissen, was der Unterschied zwischen einer Menge und einer Liste ist? Weil es in keiner Weise besser ist, ein Set zu verwenden. Sie verwenden Sets immer dann, wenn Sie eine einzelne Instanz eines Objekts in Ihrer Sammlung haben möchten, während Sie mehrere Instanzen desselben Objekts in einer Liste haben können. – LeChe