public static List queryInterval(String paramName1, Object paramValue1, String paramName2, Object paramValue2, Class outputClass, ResultCode resultCode, Session session){
logger.info("Hibernate:start query from database");
//logger.info("Hibernate:query parameters:" + paramName + " , " + paramValue.toString());
try {
Criteria criteria = session.createCriteria(outputClass);
criteria.setCacheable(true);
criteria.add(Restrictions.ge(paramName1, paramValue1));
criteria.add(Restrictions.le(paramName2, paramValue2));
List list = criteria.list();
logger.info("Hibernate:query from database success");
logger.info("Hibernate:query result list size:" + list.size());
resultCode.setCode(ResultCode.SUCCESS);
return list;
} catch (Exception e) {
resultCode.setCode(ResultCode.FAIL);
logger.error("Hibernate:query from database fail");
logger.error("Hibernate error:" + e.getStackTrace());
logger.error("Hibernate error:" + e.getMessage());
return null;
}
}
以上代码中运行到List list = criteria.list();程序就是卡死,没法往下执行了,但之前用这个语句查询都没问题,多查询几次就会阻塞