2016-04-08 42 views
0

选择部分对象迭代如何遍历下面的代码来获取输出无法通过HQL

String hql=" select UserName,userId FROM org.vishwa.hibernate.UserDetails where userId>=?"; 
      Query query = session.createQuery(hql); 
      query.setParameter(0, 5); 
      List users = query.list(); 

选择完整的对象,我能够迭代 .Selecting部分对象的不可能重复,请提供解决方案

回答

1

请使用命名参数(:userId)代替参考参数中的数字。一种这样的查询返回List<Object[]>

String hql = "select userName, userId from UserDetails where userId >= :userId"; 
Query query = session.createQuery(hql); 
query.setParameter("userId", 5); 

List<Object[]> users = query.list(); 

for(Object[] user : users) { 
    //user[0] userName 
    //user[1] userId 
}