`

hibernate中limit实现方法

阅读更多
折腾了半天,原来是hibernate不支持limit,还有有能实现的方法:
public List<IpSource> getIpList(final int count) {
		final String sql = "from IpSource order by crtTm desc";
		return this .getHibernateTemplate().executeFind( new  HibernateCallback() {   
			 public  Object doInHibernate(Session session)   
			 throws  HibernateException, SQLException {   
				 return  session.createQuery(sql).setMaxResults(count).list();   
			  }   
		});  
	}



 try{  
10.  
11.           final String hql = "form KnowledgeExpertArticle as model where model.'"+keyName+"' like '%"+value+"%' order by model.expertArticleId DESC";  
12.  
13.           log.info(hql);  
14.  
15.           List resultList = getHibernateTemplate().executeFind(  
16.  
17.              new HibernateCallback() {  
18.  
19.                  public Object doInHibernate(Session arg0)  
20.  
21.                         throws HibernateException, SQLException {  
22.  
23.                     Query query = arg0.createQuery(hql);  
24.  
25.                     query.setFirstResult(start);  
26.  
27.                     query.setMaxResults(limit);  
28.  
29.                     return query.list();  
30.  
31.                  }  
32.  
33.   
34.  
35.              });  
36.  
37.           return resultList;  
38.  
39.             
40.  
41.       }catch(RuntimeException re){  
42.  
43.           throw re;  
44.  
45.       } 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics