Ich habe eine Java EE-Anwendung und verwende Hibernate. Bei den Domain-Objekten habe ich die List / ArrayList in Set / HashSet geändert, da es besser ist, Sets zu verwenden.
Aber in meiner Dao-Implementierung stoße ich auf ein Problem:
%Vor%Hier bekomme ich einen Fehler:
%Vor%Was kann ich tun, um diesen Fehler zu vermeiden?
Vielen Dank im Voraus & amp; Beste Grüße.
sess.createQuery("from Item").list();
gibt eine Array-Liste der resultierenden Elemente zurück, wenn Sie sie in Set benötigen, können Sie sie wie im Code gezeigt erstellen
Die Domain-Objekte, ich habe die List / ArrayList in Set / HashSet geändert, weil es besser ist, Sets zu verwenden.
Es ist nicht "besser" Set
zu verwenden, es hängt ganz davon ab, was Sie brauchen. Wie auch immer, der Sammlungs-Typ, den Sie in Ihren Domain-Objekten verwenden, und der Rückgabetyp von Query#list()
sind zwei nicht verwandte Dinge .
Persönlich kann ich nicht sagen, dass ich viel Wert beim Konvertieren des Ergebnisses einer Abfrage in Set
sehe (abgesehen davon, dass mehr Speicher verbraucht wird), es sei denn, Sie möchten duplicates aus Abfrageergebnisse natürlich (aber in diesem Fall würde ich die Zuordnungen herausfordern).
Nun, wenn Sie darauf bestehen, haben die verschiedenen Set
Implementierungen einen Konstruktor, der ein Collection
akzeptiert (und die Frage ist im Wesentlichen ein Duplikat von
Pascal Thivent
12.10.2010 12:34
Tags und Links java hibernate classcastexception set arraylist