Hibernate自定查询返回list

时间:2022-12-31 11:26:07
 /**
*
* @param session
* :一个会话
*
* @param hql
* :是需要执行的hql语句,
*
* @param offset
* 设置开始位置
*
* @param length
* :读取记录条数
*
* return 返回结果集List<?>表示一个泛型的List
*/ public List<?> getList(Session session, String hql, int offset, int length) { Query q = session.createQuery(hql); q.setFirstResult(offset); q.setMaxResults(length); log.info(hql); List<?> list = q.list(); log.info("取到的每页的size" + list.size()); return list; } /**
*
* 使用hql 语句进行操作
*
* @param hql
* 需要执行的hql语句
*
* @param offset
* 设置开始位置
*
* @param length
* 设置读取数据的记录条数
*
* @return List 返回所需要的集合。
*/ public List getListForPage(final String hql, final int offset, final int length) { List list1 = getHibernateTemplate().executeFind( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { List list2 = getList(session, hql, offset, length); return list2; } }); return list1; }

调用函数:

List selectList = udao.getListForPage(" from Users", 0,10);