异常

来源:互联网 发布:韩国碧尔缇希 知乎 编辑:程序博客网 时间:2024/05/21 12:43

今天写公司项目一小模块,退货申请单。出现了一个奇怪的异常,报错如图


private List<OrdApplyRo>  retrieveRoList(ReturnOrderQueryVo vo,PaginatedVo paginated){
DetachedCriteria criteria = DetachedCriteria.forClass(OrdApplyRo.class,"OrdApplyRo");

if (StringUtils.isNotBlank(vo.getVendorCode())) {
            criteria.add(Restrictions.like("returnedVendorCode", "%"+vo.getVendorCode().trim()+"%"));
        }

if (StringUtils.isNotBlank(vo.getReturnOrderNo())) {
            criteria.add(Restrictions.like("roNo", "%"+vo.getReturnOrderNo().trim()+"%"));
        }
if (vo.getReturnStartDate() != null) {
            criteria.add(Restrictions.ge("returnedDate", vo.getReturnStartDate()));
        }
        if (vo.getReturnEndDate() != null) {
            criteria.add(Restrictions.lt("returnedDate", DateUtils.addDays(vo.getReturnEndDate(), 1)));
        }


if (StringUtils.isNotBlank(vo.getSkuNo())) {       
            criteria.createAlias("OrdApplyRo.items", "items");
criteria.add(Restrictions.like("items.skuNo", "%" + vo.getSkuNo() +"%").ignoreCase());
        } 
if (StringUtils.isNotBlank(vo.getOrderStatus())) {       
           
criteria.add(Restrictions.eq("runsaStatus",  vo.getOrderStatus() ).ignoreCase());
        } 


if (paginated != null) {
            criteria.setProjection(Projections.rowCount());
            Number count = (Number) ordApplyRoDao.retrieveByCriteria(criteria);
            paginated.setFullSize(count.intValue());
            
            criteria.setProjection(null);
            criteria.setResultTransformer(Criteria.ROOT_ENTITY);
            if (StringUtils.isNotBlank(paginated.getSort())) {


criteria.addOrder(paginated.isAsc() ? Order.asc(paginated
.getSort()) : Order.desc(paginated.getSort()));
} else {
            paginated.setAsc(false);
// paginated.setSort("OrdApplyRo.runsaRoNo");
// criteria.addOrder(Order.asc("OrdApplyRo.runsaRoNo"));
criteria.addOrder(Order.asc("OrdApplyRo.returnedDate"));

            }

        }

return (List<OrdApplyRo>)ordApplyRoDao.retrieveListByCriteria(criteria, paginated);

    }


代码如上,这是断很简单的sql查询代码,但是会报这个异常,异常的关键 是,在dbug走到count的位置,发现没有count的查询动作,而是出现空指针,我反复断点跟进,

一直纠结最后一条语句不是 select count ,为什么

后来在同事提点,配置文件中是否进行配置,之前在自己本地我做过配置,但是版本更新,又由于当前的我已经上过svn,要求全部还原,于是我的代码反复修改到自己都忘记了。以此记录忘以后不要再有这种错误。

0 0
原创粉丝点击