Hibernate - 遍历createSQLQuery结果并读入适当的对象

Iam*_*ksy 2 java hibernate

我是Hibernate/Java(JSF 2.0)的新手,我试图调用自定义查询并将结果读入我创建了Logins的对象.Logins有两个setter函数,setLoginDate(Date date)和setUserId(Integer userId),我的函数看起来是这样的,我遇到的问题是如何转换结果集并将适当的值读入temp loginList

public List<Logins> getUserLogins() {

     Session session = getSessionFactory().openSession();
     List<Logins> loginList = null;
     Login temp = null;

     try {

         String SQL_QUERY = "SELECT login_date, user_id FROM user_logins";
         Query query = session.createSQLQuery(SQL_QUERY);

         List results = query.list();
         for(ListIterator iter = results.listIterator(); iter.hasNext(); ) {

              ** THIS IS THE PART I AM NOT CLEAR ON ***
              temp.setLoginDate(resutls.get(0));
              temp.setUserId(results.get(1));

              loginList.add(temp);
              temp = null;

              *****************************************

              return loginList;
         }

     } catch(HibernateException e) {
         throw new PersistanceDaoException(e);
     } finally {
         session.close();
     }

}
Run Code Online (Sandbox Code Playgroud)

mhs*_*ams 7

遗失的部分:

      Object[] row = (Object[]) iter.next();
      temp = new Login();
      temp.setLoginDate(row[0]);
      temp.setUserId(row[1]);
Run Code Online (Sandbox Code Playgroud)

row[i]例如,如果登录日期是日期对象,则可能需要强制转换为目标对象:temp.setLoginDate((Date) row[0]);