Alle APIs in Hibernate stammen von 1.4 und verwenden daher keine Java-Generics.Hibernate Query API und Java 1.5/Generics
So frage ich mich, wie "sicher" ist das Folgende: (Voraussetzungen: Name Spalte ist vom Datentyp String, oder zumindest kompatibel zu String)
@SuppressWarnings("unchecked")
public List<String> getAll() {
Query q = session.createQuery(
"select name from Customers");
return q.list();
}
Von der Queryi API (org.hibernate.Query.list()) Javadoc.
Das kann passieren, wenn Sie zum Beispiel eine HBM-Abfrage mit Joins wie folgt haben: 'von Item links links i.preferences p verbinden, wobei p null ist. Hier werden sowohl die Zeilen für das Element als auch für die Einstellungen ausgewählt, sodass Sie mehrere Ergebnisse erhalten. Um zu vermeiden, dass Sie angeben müssen, dass nur Elemente zurückgegeben werden sollen: 'Wählen Sie i aus Element i links verbinden Sie i.preferences p wobei p null ist – Rihards