Jestem nowy w Hibernate.Wersja Hibernuj 5.2 -> Wiele metod zapytań jest przestarzałych?
Próbuję uzyskać listę imienia i nazwiska wszystkich administratorów.
Istnieją dwa ostrzeżenia w poniższym kodzie. Próbowałem już dużo wyszukiwać w Internecie.
1) Zapytanie jest typu surowego. Odniesienia do typu ogólnego Zapytanie należy sparametryzować.
2) Lista metod() z typu Zapytanie jest przestarzała.
public List<Object> loadAllAdmins() {
List<Object> allAdmins = new ArrayList<Object>();
try {
HibernateUtil.beginTransaction();
Query q = currentSession.createQuery("SELECT admin.firstName, admin.lastName from AdminBean admin");
allAdmins= q.list();
HibernateUtil.commitTransaction();
} catch (HibernateException ex) {
System.out.println("List<AdminBean> loadAllPersons: HibernateException");
}
return allAdmins;
}
Ale widzę przykładowy kod tak w całym Internecie. Jak mam rozwiązać te dwa problemy?
Aktualizacja
Ja tylko starałem się stosować kryteria, jak sugeruje. Mówi ona również, że metoda list() jest nieaktualna dla kryteriów ... Wydaje się, że wiele metod jest nieaktualnych zarówno dla zapytania, jak i kryteriów, w tym uniqueResult() i innych ... Jakieś sugestie, w jaki sposób powinienem je zastąpić?
Być może sprawdź daną klasę w JavaDoc, może być sugestia - http://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/query/QueryProducer.html#createSQLQuery-java.lang .Strunowy- . – Xdg