开发者社区> 问答> 正文

SSH执行查询的时候卡死??报错

页面刷新多次后,页面会卡死,断点到执行查询的时候的语句getHibernateTemplate().findByCriteria(detachedCriteria);系统不往下跑,不报错,这种情况一般是什么问题

public long findTotalCount(DetachedCriteria detachedCriteria) {
		// 投影,获取记录总数
		detachedCriteria.setProjection(Projections.rowCount());
		List<Long> list = (List<Long>) getHibernateTemplate().findByCriteria(detachedCriteria);//TODO 次数多了以后,这里会卡主???
		detachedCriteria.setProjection(null);
		return list.get(0);
	}
<p>
	<br>
</p>
<p>
	<br>
</p>

这个是卡住的方法的具体代码

展开
收起
爱吃鱼的程序员 2020-06-08 20:16:20 586 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你再等久一点看看,是不是查询的时候卡住了,导致查询还在继续,所以没往下?等了差不多2分钟还是在那一句上卡住不动我以前也遇到过有可能是锁库了如果是锁库的话怎么处理比较好呢,我也怀疑是数据库的设置问题,专门把更换了数据库的主机,但还是出现同样的问题<!--其他配置-->
    <!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default:3-->
    <propertyname="initialPoolSize"value="3"/>
    <!--连接池中保留的最小连接数。Default:3-->
    <propertyname="minPoolSize"value="3"/>
    <!--连接池中保留的最大连接数。Default:15-->
    <propertyname="maxPoolSize"value="5"/>
    <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:3-->
    <propertyname="acquireIncrement"value="3"/>
    <!--控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 
    0-->
    <propertyname="maxStatements"value="8"/>
    <!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 
    0-->
    <propertyname="maxStatementsPerConnection"value="5"/>
    <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default:0-->
    <propertyname="maxIdleTime"value="1800"/>
    我删除了一段配置文件,这个问题就解决了但是我不知道原因,麻烦有人能帮忙解释一下时为什么吗?

    2020-06-08 20:16:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载