String hql = "from PrFmCommon p where p.parentId=?"Query query = this.getSession().createQuery("select count(*) " + hql);
query.setLong(0, (Long)parameter.get("parentId"));
int totalRecord = ((Long) query.uniqueResult()).intValue();Query query = session.createQuery(hql);
query.setLong(0, (Long)parameter.get("parentId"));
query.setFirstResult(0);
query.setMaxResults(50);
List list = query.list();一个简单的分页功能,
第一段是查询总记录数,返回结果正确
第二段是分页查询,setMaxResults(50)只要大于10,结果总是只返回10条,数据库中符合条件的记录数有200多条经过多次测试,发现把参数设置query.setLong()去掉,直接将值拼到sql中,就不存在这个问题,换过其他几种设置参数的方式setParameter,setProperties,setEntity,均是同样现象,搞的头大了,help啊是我设置分页的方式不对吗?
query.setLong(0, (Long)parameter.get("parentId"));
int totalRecord = ((Long) query.uniqueResult()).intValue();Query query = session.createQuery(hql);
query.setLong(0, (Long)parameter.get("parentId"));
query.setFirstResult(0);
query.setMaxResults(50);
List list = query.list();一个简单的分页功能,
第一段是查询总记录数,返回结果正确
第二段是分页查询,setMaxResults(50)只要大于10,结果总是只返回10条,数据库中符合条件的记录数有200多条经过多次测试,发现把参数设置query.setLong()去掉,直接将值拼到sql中,就不存在这个问题,换过其他几种设置参数的方式setParameter,setProperties,setEntity,均是同样现象,搞的头大了,help啊是我设置分页的方式不对吗?
select
count(*) as col_0_0_
from
Pr_fm_Common prfmcommon0_
where
prfmcommon0_.parent_Id=?
------------------------------------------------------------------------select
*
from
( select
prfmcommon0_.id as id22_,
prfmcommon0_.close_time as close2_22_,
prfmcommon0_.is_Import as is3_22_,
prfmcommon0_.is_Move as is4_22_,
prfmcommon0_.open_time as open5_22_,
prfmcommon0_.parent_Id as parent6_22_,
prfmcommon0_.source as source22_,
prfmcommon0_.title as title22_,
prfmcommon0_.update_Date as update9_22_,
prfmcommon0_.version as version22_
from
Pr_fm_Common prfmcommon0_
where
prfmcommon0_.parent_Id=? )
where
rownum <= ?以上是2段sql,目测是没问题的啊