0
私はPlay 2.2.6を使用しています。私はRawSql
で「getTotalPageCount」を取得したいが、 私はいつも1ページレコードを得る。プレーフレームRawSqlどうすればいいですか?TotalPage
String sql = "select "
+ "a.id as id ,"
+ "b.name as computerType ,"
+ "a.buy_time as buyTime ,"
+ "a.user_name as userName, "
+ "a.if_use as ifUse from computer a left join computer_type b on a.computer_type = b.code where 1=1 ";
if(StringUtil.StringNoEmpty(vo.userName)){
sql += " and a.user_name like '%"+vo.userName+"%'";
}
if(StringUtil.StringNoEmpty(vo.computerType)){
sql += " and a.computer_type = '"+vo.computerType+"'";
}
if(null!=vo.startTime){
String startTime = DateUtil.formate.format(vo.startTime);
sql += " and a.buy_time >= '"+startTime+"'";
}
if(null!=vo.endTime){
String endTime = DateUtil.formate.format(vo.endTime);
sql += " and a.buy_time <= '"+endTime+"'";
}
if(StringUtil.StringNoEmpty(vo.ifUse)){
if("on".equals(vo.ifUse)){
sql += " and a.if_use ='1' ";
}else if("off".equals(vo.ifUse)){
sql += " and a.if_use = '0'";
}
}
RawSql rawSql = RawSqlBuilder.parse(sql).create();
Query<ResultComputer> query = Ebean.find(ResultComputer.class).order("id");
query.setRawSql(rawSql);
Page<ResultComputer> page = query.findPagingList(10).setFetchAhead(false).getPage(0);
Logger.debug(page.getTotalPageCount()+""); // result 1.
が、私のデータベースは千枚のレコードを持っている: は、ここでは、コードです。私は "page.getTotalPageCount()"は100ページレコードでなければならないと思う。私のミスはどこですか?