hibernate criteria 添加条件(sql语句混用)

来源:互联网 发布:乙醇水的气液平衡数据 编辑:程序博客网 时间:2024/06/04 19:05
public List<Accident> findAllChecked(Accident entity)     {        if(entity==null)            entity=new Accident();        Criteria criteria=accidentDao.getCriteria(entity);        try {            //比较日期            if(StringUtils.isNotBlank(entity.getStartDateStr()))            {                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");                criteria.add(Restrictions.ge("date", sdf.parse(entity.getStartDateStr())));            }            if(StringUtils.isNotBlank(entity.getEndDateStr()))            {                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");                criteria.add(Restrictions.le("date", sdf.parse(entity.getEndDateStr())));            }            if(StringUtils.isNotBlank(entity.getStartTimeStr()))            {        //只比较日期中时和分 criteria.add(Restrictions.sqlRestriction("DATE_FORMAT({alias}.date,'%H:%i') >= ?",entity.getStartTimeStr(),Hibernate.STRING));            }            if(StringUtils.isNotBlank(entity.getEndTimeStr()))            {                criteria.add(Restrictions.sqlRestriction("DATE_FORMAT({alias}.date,'%H:%i') <= ?",entity.getEndTimeStr(), Hibernate.STRING));            }        } catch (Exception e) {                     e.printStackTrace();        }        //按日期排序        criteria.addOrder(Order.asc("date"));        criteria.add(Restrictions.eq("checkStatus",YesOrNo.YES));        criteria.add(Restrictions.eq("deleteStatus", YesOrNo.NO));        List<Accident> list=criteria.list();        return list;    }
原创粉丝点击