gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:18:59 24 4
gpt4 key购买 nike

我对 Hibernate/Java (JSF 2.0) 很陌生,我正在尝试调用自定义查询并将结果读入我创建的登录对象中。 Logins 有两个 setter 函数,setLoginDate(Date date) 和 setUserId(Integer userId) 我的函数看起来像这样,我遇到的问题是如何转换结果集并将适当的值读入临时登录列表

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();
}

}

最佳答案

缺少的部分:

      Object[] row = (Object[]) iter.next();
temp = new Login();
temp.setLoginDate(row[0]);
temp.setUserId(row[1]);

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

关于java - Hibernate - 遍历 createSQLQuery 结果并读入适当的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com