Hibernate -> ArrayList ne peut pas être jeté à l'Ensemble

J'ai une application Java EE et j'utilise Hibernate. Les objets du domaine, j'ai changé la Liste /liste de tableaux pour Définir /HashSet, car il est préférable d'utiliser des Ensembles.

Mais dans mon Dao mise en œuvre je rencontre un problème:

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;
}

Ici, je reçois une erreur:

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set

Que puis-je faire pour éviter cette erreur?

Merci d'avance & Meilleures Salutations.

Êtes-vous sûr que vous savez quelle est la différence entre un jeu et une liste est? Car en aucun cas est-il "mieux" pour l'utilisation d'un Ensemble. Vous utiliser chaque fois que vous ne voulez qu'une seule instance d'un objet dans votre collection, alors vous pouvez avoir plusieurs instances d'un même objet dans une liste.

OriginalL'auteur Tim | 2010-10-12