首页 > 编程笔记 > Java笔记

Hibernate projectionList方法:创建多个投影列

projectionList 方法用于创建多个投影列,每个投影列由该方法返回的 ProjectionList 对象的 add 方法添加。add 方法的参数为 Projections 类的相关方法的返回值。

语法:

projectionList()


返回值:ProjectionList 类的对象。ProjectionList 类为 Projection 类的子类。

示例1

查询数据表中的全部用户名,关键代码如下:
Criteria criteria = session.createCriteria(UserForm.class);  //创建Criteria对象
criteria.setProjection(Projections.projectionList()
                                                 .add(Projections.property("username")));  //创建投影列
list = criteria.list();  //执行查询语句获取查询结果集
Iterator it = list.iterator();  //获取查询迭代器
while(it.hasNext()){  //循环遍历迭代器
  System.out.println("用户名:"+it.next());  //输出查询结果
}

示例2

在应用 projectionList 方法用于创建多个投影列时,可以通过调用多个 add 方法设置多个投影列,例如下面的代码:
Criteria criteria = session.createCriteria(UserForm.class);  //创建Criteria对象
criteria.setProjection(Projections.projectionList()
                       .add(Projections.property("username"))
                       .add(Projections.property("pwd"))  //创建多个投影列
                      );
List list = criteria.list();  //获取查询结果集
Iterator it = list.iterator();  //获取查询迭代器
while(it.hasNext()){  //循环遍历迭代器
  Object[] o = (Object[])it.next();  //获取迭代器中数据信息
  System.out.println("用户名:"+o[0]+"密码:"+o[1]);
}

所有教程

优秀文章