Мабуть, метод Query.list () в API Hibernate не є типовим "дизайн", і не планується його змінювати .
Я вважаю, що найпростішим рішенням уникнути попереджень компілятора є дійсно додати @SuppressWarnings ("невірно"). Ця примітка може бути розміщена на рівні методу або, якщо всередині методу, прямо перед оголошенням змінної.
Якщо у вас є метод, який інкапсулює Query.list () і повертає список (або колекцію), ви також отримуєте попередження. Але цей пригнічується за допомогою @SuppressWarnings ("rawtypes").
Метод listAndCast (Query), запропонований Matt Quail, є менш гнучким, ніж Query.list (). Поки я можу:
Query q = sess.createQuery("from Cat cat");
ArrayList cats = q.list();
Якщо я спробую код нижче:
Query q = sess.createQuery("from Cat cat");
ArrayList<Cat> cats = MyHibernateUtils.listAndCast(q);
Я отримаю помилку компіляції: Введіть невідповідність: не можна конвертувати зі списку в ArrayList