Görünüşe göre, Hazırda Bekletme API'sindeki Query.list () yöntemi "tasarım gereği" güvenli değildir ve bunu değiştirme planları yoktur .
Derleyici uyarılarından kaçınmanın en basit çözümünün @SuppressWarnings ("kontrol edilmemiş") eklemek olduğuna inanıyorum. Bu açıklama , yöntem düzeyinde veya bir yöntemin içindeyse, değişken bildiriminden hemen önce yerleştirilebilir.
Query.list () 'i kapsülleyen ve List (veya Collection) döndüren bir yönteminiz varsa, ayrıca bir uyarı alırsınız. Ancak bu, @SuppressWarnings ("rawtypes") kullanılarak bastırılır.
Matt Quail tarafından önerilen listAndCast (Query) yöntemi, Query.list () 'den daha az esnektir. Ben yapabiliyorken:
Query q = sess.createQuery("from Cat cat");
ArrayList cats = q.list();
Aşağıdaki kodu denersem:
Query q = sess.createQuery("from Cat cat");
ArrayList<Cat> cats = MyHibernateUtils.listAndCast(q);
Bir derleme hatası alacağım: Tür uyuşmazlığı: Listeden ArrayList'e dönüştürülemiyor