Hibernate实现sql中的limit的方法也很简单,原理是创建一个查询之后,给当前查询添加start和limit两个参数,之后执行查询即可。代码如下所示。
public List<KnowledgeExpertArticle> findKnowledgeExpertArticleForSearch(
String keyName, Object value,final int start,final int limit) {
//
log.debug("search knowledgeExpertArticle by :"+value);
try{
final String hql = "form KnowledgeExpertArticle as model where model.'"+keyName+"' like '%"+value+"%' order by model.expertArticleId DESC";
log.info(hql);
List resultList = getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session arg0)
throws HibernateException, SQLException {
Query query = arg0.createQuery(hql);
query.setFirstResult(start);
query.setMaxResults(limit);
return query.list();
}
});
return resultList;
}catch(RuntimeException re){
throw re;
}
}
本文介绍如何利用Hibernate框架简化SQL查询中LIMIT的实现,通过创建查询并添加start和limit参数来获取特定数量的数据。示例代码演示了如何在实际应用中运用这一技巧。
1080

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



