Query提供了分页查询方法。
Query queryObject = session.createQuery(queryString);
queryObject.setFirstResult(firstResult);
queryObject.setMaxResults(maxResult);
return queryObject.list();
但是getHibernateTemplate没有这方法。我之前用的都是类似
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query queryObject = session.createQuery(queryString);
queryObject.setFirstResult(firstResult);
queryObject.setMaxResults(maxResult);
return queryObject.list();
}});
return list;
这样的写法实现分页。但是这两重套用看得我眼花。
我想把分页的功能写在hql语句里。
例如
String queryString = "from table as model where model."
+ propertyName + "= ?" + " limit 0,10";
return getHibernateTemplate().find(queryString, value);
这样可以避免两重套用.
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {请教下,把分页用能写在hql里面,效率会不会降低?哪种写法效率高些?
Query queryObject = session.createQuery(queryString);
queryObject.setFirstResult(firstResult);
queryObject.setMaxResults(maxResult);
return queryObject.list();
但是getHibernateTemplate没有这方法。我之前用的都是类似
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query queryObject = session.createQuery(queryString);
queryObject.setFirstResult(firstResult);
queryObject.setMaxResults(maxResult);
return queryObject.list();
}});
return list;
这样的写法实现分页。但是这两重套用看得我眼花。
我想把分页的功能写在hql语句里。
例如
String queryString = "from table as model where model."
+ propertyName + "= ?" + " limit 0,10";
return getHibernateTemplate().find(queryString, value);
这样可以避免两重套用.
List list = getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {请教下,把分页用能写在hql里面,效率会不会降低?哪种写法效率高些?
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query queryObject = session.createQuery(queryString);
queryObject.setFirstResult(firstResult);
queryObject.setMaxResults(maxResult);
return queryObject.list();
}});
return list;
这种方法进行分页的。期待着有更好的分页方法
hibernate 只不过是对原有的 数据库连接中的公用方法进行了封装~!