【发布时间】:2016-11-22 11:31:44
【问题描述】:
我是 Hibernate 的新手。
我正在尝试获取所有管理员的名字和姓氏的列表。
我的以下代码中有两个警告。我已经尝试在网上搜索了很多。
1) 查询是原始类型。对泛型 Query 的引用应该被参数化。
2) Query 类型的方法 list() 已弃用。
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;
}
但是我在整个网络上都看到了这样的示例代码。我该如何解决这两个问题?
更新
我只是按照建议尝试使用 Criteria。它还说 list() 方法对于 Criteria 是不推荐的......似乎很多方法对于 Query 和 Criteria 都是不推荐的,包括 uniqueResult() 和其他......有什么建议我应该如何替换它们?
【问题讨论】:
-
也许检查 JavaDoc 中的给定类,可以有一个建议 - docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/query/… 。
标签: java sql hibernate hql dao