我想将 HQL 查询结果的名称和 ID 存储到 Hashmap 中。这是我的代码。有没有更好的方法呢?
String hql = "FROM Student";
Session session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery(hql);
List queryResults = query.list();
List<Student> result = new ArrayList<Student>();
Iterator it = queryResults.iterator();
while (it.hasNext()) {
Student student = (Student) it.next();
result.add(student);
}
Map mapresult = new LinkedHashMap<Integer,String>();
for (Student Maprslt : result)
mapresult.put(Maprslt.getId(), Maprslt.getName());
最佳答案
您可以将它们全部放在一个 foreach
循环中,该循环旨在循环遍历 Iterable
或数组。
String hql = "FROM Student";
Session session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery(hql);
List queryResults = query.list();
Map<Integer,String> mapresult = new LinkedHashMap<>();
for (Object obj : queryResults) {
Student student = (Student) obj;
mapresult.put(student.getId(), student.getName());
}
关于java - 将 Hibernate 查询结果存储到 Hashmap 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38131427/