gxx20111214 2015-06-19 07:38 采纳率: 0%
浏览 1540

hibernate处理的数据量太多,会报游标超出的错误。求大神帮忙

public List getMessageCount(String agentId,Date detectingTime,Date endTime) {
StringBuffer sbf = new StringBuffer();
sbf.append("select targetAddress,sourceaddress, count(targetAddress) from VpnRecord where 1=1");
String sf = "";
if(agentId != null && !"".equals(agentId)){
sf = " and agentid='"+ agentId+"'";
}
if(detectingTime != null && endTime != null){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String start = sdf.format(detectingTime);
String end = sdf.format(endTime);
sf += " and detectingTime >='" + start + "' and endTime <= '" + end + "'";
}
if(detectingTime == null && endTime != null){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String end = sdf.format(endTime);
sf += " and endTime <= '" + end + "'";
}
sbf.append(sf+" group by targetAddress ,sourceaddress");
List ls=this.getSession().createSQLQuery(sbf.toString()).list();
ArrayList list = new ArrayList();
int i = 0;
for(Object[] rows : ls){
i++;
String queryHql = "from VpnRecord where targetaddress='"+ rows[0]+"' and sourceaddress = '"+rows[1]+"'" + sf;
Query queryObject2 = this.getSession().createQuery(queryHql);
queryObject2.setFirstResult(0);
queryObject2.setMaxResults(10);
List list3=queryObject2.list();
VpnTemporary vpn = new VpnTemporary();
vpn.setId(i);
vpn.setTargetAddress(rows[0].toString());
vpn.setSourceAddress(rows[1].toString());
vpn.setMessageCount(Integer.parseInt(rows[2].toString()));
vpn.setList2(list3);
list.add(vpn);
log.info("target 值: " + rows[0] + "source 值: " + rows[1]+"\t 通讯总数="+Integer.parseInt(rows[2].toString()));
}
return list;
}

![图片说明](https://img-ask.csdn.net/upload/201506/19/1434699386_154547.png)
  • 写回答

2条回答

  • qq_29161425 2015-06-19 08:16
    关注

    vpn.setTargetAddress(rows[0].toString());
    vpn.setSourceAddress(rows[1].toString());
    vpn.setMessageCount(Integer.parseInt(rows[2].toString()));
    vpn.setList2(list3);

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?