私はJavaEEアプリケーションを持っており、Hibernateを使用しています。ドメインオブジェクトでは、Setsを使用する方がよいため、List/ArrayListをSet/HashSetに変更しました。
しかし、私の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
このエラーを回避するにはどうすればよいですか?
よろしくお願いします。