Hibernate分页查询
- 格式:doc
- 大小:26.50 KB
- 文档页数:2
1
问题 : 现在要用过User表,把所有表中的对象加载到JavaBean中。
而且要通过分页来实现。下面程序我想用HQL方法实现这个分页,但
是我无法将roles表和funs表连接起来,role_fun是一个中间表,没有写
hibernate配置文件。根据以下程序生成的sql是这样的,外层的select *语
句限制内层要把所有表查出来,因为内层字段有外键约束。
select
*
from
( select
users0_.user_id as user1_0_,
users0_.username as username0_,
users0_.user_status as user3_0_,
users0_.role_id as role4_0_,
users0_.password as password0_,
users0_.user_describe as user6_0_,
users0_.init_time as init7_0_,
users0_.check_time as check8_0_,
users0_.check_manager as check9_0_,
users0_.ROLE_ID as ROLE4_0_
from
BANK_USERS users0_ )
where
rownum <= ?
2
public abstract class GenericHibernateDao
HibernateDaoSupport implements GenericDao
/**
* @return List
* @param Page.PAGE_SIZE 每所包含的记录数
* @param pageNumber 页号
*/
@Override
public List
Query q = getSession().createQuery("FROM Users u order by u.user_id asc");
q.setMaxResults(Page.PAGE_SIZE);
q.setFirstResult(Page.PAGE_SIZE * (pageNumber - 1));
return q.list();
}
static class Test {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] { "applicationContext.xml" });
@SuppressWarnings("unchecked")
GenericDao dao = (GenericDao) ctx.getBean("usersDao");
List
System.out.println(list.get(0).getUsername());
}
}
}