我有一个 Java EE 应用程序并且我使用 Hibernate。域对象,我把List/ArrayList改成了Set/HashSet,因为用Sets比较好。
但是在我的 Dao 实现中我遇到了一个问题:
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;
}
在这里我得到一个错误:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set
我能做些什么来避免这个错误?
提前感谢您和最诚挚的问候。