hql返回结果集
时间: 2023-10-11 15:17:39 浏览: 49
HQL(Hibernate Query Language)是 Hibernate 中的查询语言,用于查询数据库中的数据。HQL 查询语言的结果可以通过以下方式返回:
1. List 对象:使用 query.list() 方法可以返回一个 List 对象,该对象包含所有查询结果。
```
Query query = session.createQuery("from User");
List<User> userList = query.list();
```
2. Iterator 对象:使用 query.iterate() 方法可以返回一个 Iterator 对象,该对象可以逐个地返回结果。
```
Query query = session.createQuery("from User");
Iterator<User> iterator = query.iterate();
while (iterator.hasNext()) {
User user = iterator.next();
// 处理查询结果
}
```
3. uniqueResult() 方法:如果查询结果只有一个,可以使用 uniqueResult() 方法返回一个 Object 对象,该对象就是查询结果。
```
Query query = session.createQuery("from User where id = :id");
query.setParameter("id", userId);
User user = (User) query.uniqueResult();
```
需要注意的是,如果查询结果为空,uniqueResult() 方法会返回 null,因此在使用 uniqueResult() 方法时需要进行空指针判断。