10 个解决方案
#1
分布不是有一个函数吗?你用那个函数就可以 查询了。
#2
#3
hql不会就用sql
用
用
createSQLQuery
#4
可以具体点吗
#5
哪个分布函数啊?
#6
正常用法么..排序倒序 然后调用setMaxResults吧 设置下查询出来的最大记录数就可以了..
#7
你先升序排列取得前N条记录 再将这N条记录降序排列不就是你要的结果吗
#8
我是这么做的,可是不行,你看看有什么问题
private static final String QUERYPERPAGEHQL = "from Solution solution order by solutionId desc";
public List queryPerPage(int page) {
List<Solution> listResult = new ArrayList<Solution>();
Session session = HibernateSessionFactory.getSession();
int startRow = this.getTotalCount()-page*countPerPage;
Query query = session.createQuery(this.QUERYPERPAGEHQL);
query.setFirstResult(startRow);
query.setMaxResults(countPerPage);
listResult = query.list();
return listResult;
}
#9
你说的没错,我现在是这么做的,我就是想知道有没有办法不这么做,毕竟这要花费额外的时间
#10
select ... where id> (max(id)-N)
你看这样O 不
你看这样O 不
#1
分布不是有一个函数吗?你用那个函数就可以 查询了。
#2
#3
hql不会就用sql
用
用
createSQLQuery
#4
可以具体点吗
#5
哪个分布函数啊?
#6
正常用法么..排序倒序 然后调用setMaxResults吧 设置下查询出来的最大记录数就可以了..
#7
你先升序排列取得前N条记录 再将这N条记录降序排列不就是你要的结果吗
#8
我是这么做的,可是不行,你看看有什么问题
private static final String QUERYPERPAGEHQL = "from Solution solution order by solutionId desc";
public List queryPerPage(int page) {
List<Solution> listResult = new ArrayList<Solution>();
Session session = HibernateSessionFactory.getSession();
int startRow = this.getTotalCount()-page*countPerPage;
Query query = session.createQuery(this.QUERYPERPAGEHQL);
query.setFirstResult(startRow);
query.setMaxResults(countPerPage);
listResult = query.list();
return listResult;
}
#9
你说的没错,我现在是这么做的,我就是想知道有没有办法不这么做,毕竟这要花费额外的时间
#10
select ... where id> (max(id)-N)
你看这样O 不
你看这样O 不