Hibernate自定查询返回list<?>

 1 /**
 2      * 
 3      * @param session
 4      *            :一个会话
 5      * 
 6      * @param hql
 7      *            :是需要执行的hql语句,
 8      * 
 9      * @param offset
10      *            设置开始位置
11      * 
12      * @param length
13      *            :读取记录条数
14      * 
15      *            return 返回结果集List<?>表示一个泛型的List
16      */
17 
18     public List<?> getList(Session session, String hql, int offset, int length) {
19 
20         Query q = session.createQuery(hql);
21 
22         q.setFirstResult(offset);
23 
24         q.setMaxResults(length);
25 
26         log.info(hql);
27 
28         List<?> list = q.list();
29 
30         log.info("取到的每页的size" + list.size());
31 
32         return list;
33 
34     }
35 
36     /**
37      * 
38      * 使用hql 语句进行操作
39      * 
40      * @param hql
41      *            需要执行的hql语句
42      * 
43      * @param offset
44      *            设置开始位置
45      * 
46      * @param length
47      *            设置读取数据的记录条数
48      * 
49      * @return List 返回所需要的集合。
50      */
51 
52     public List getListForPage(final String hql, final int offset,
53 
54     final int length) {
55 
56         List list1 = getHibernateTemplate().executeFind(
57 
58         new HibernateCallback() {
59 
60             public Object doInHibernate(Session session)
61 
62             throws HibernateException, SQLException {
63 
64                 List list2 = getList(session, hql, offset, length);
65 
66                 return list2;
67 
68             }
69 
70         });
71 
72         return list1;
73 
74     }

调用函数:

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

原文地址:https://www.cnblogs.com/huanglibin/p/3573160.html