我是休眠的新手。
我正在尝试获取所有管理员的名字和姓氏的列表。
我的以下代码中有两个警告。我已经尝试在网上搜索了很多。
1)查询是原始类型。对泛型 Query 的引用应该被参数化。
- 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;
}
但是我在整个网络上都看到了这样的示例代码。我应该如何解决这两个问题?
更新
我只是尝试按照建议使用标准。它还说 list() 方法不推荐使用 Criteria… 似乎很多方法对于 Query 和 Criteria 都已弃用,包括 uniqueResult() 和其他…有什么建议我应该如何替换它们?
原文由 Chenya Zhang 发布,翻译遵循 CC BY-SA 4.0 许可协议
警告来自“类型推断”。
我有类似的问题。但是,我找到了一个没有“SuppressWarnings”的解决方案。
最近,我发现了一种无需类型推断即可编写相同代码的更短方法。
希望能帮助到你。