//hibernate分页查询:
public List find(final String hsql, final int firstRow, final int maxRow) throws Exception {
return getHibernateTemplate().executeFind( new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException, SQLException {
Query query = s.createQuery(hsql);
query.setFirstResult(firstRow);
query.setMaxResults(maxRow);
List list = query.list();
return list;
}
});
}
//hibernate直接运行sql语句
List list = null;
try {
list= getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
String sql = "select * from noticetb n left join noticereadrecordstb b " +
"on n.nid=b.nid where n.pid = '"+ pid +"' and (b.sid != '"+ sid +"' or b.sid is null)";
return session.createSQLQuery(sql).list();
}
});
}
本文介绍了使用Hibernate进行分页查询的方法及如何直接执行SQL语句获取数据。通过具体示例展示了如何设置查询起始位置和最大返回结果数实现分页效果,并提供了执行自定义SQL查询的代码。
1060

被折叠的 条评论
为什么被折叠?



