2016-04-08 69 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 
}