hibernate 比较时间大小; 创建别名;

//    if(startTime!=null&&!startTime.equals("")){
  //          dc.add(Restrictions.ge("createTime", DateUtils.getDate(startTime,"yyyy-MM-dd")));
    //    }
      //  if(endTime!=null&&!endTime.equals("")){
            //getInternalTimeByDay得到指定时间的前/后若干天的时间 例如当前时间2006-05-16 间隔天数30天,则返回2006-04-16
            //dc.add(Restrictions.lt("createTime", DateUtils.getInternalTimeByDay(DateUtils.getDate(endTime,"yyyy-MM-dd"), 1)));
        //    dc.add(Restrictions.lt("createTime", DateUtils.getDate(DateUtils.getInternalTimeByDay(DateUtils.getDate(endTime,"yyyy-MM-dd"), 1),"yyyy-MM-dd")));
        //}

       


    
        if(create_tm_start!=null&&!create_tm_start.equals("")){
            dc.add(Restrictions.ge("startTime", DateUtils.getDate(create_tm_start,"yyyy-MM-dd")));
        }
        if(create_tm_end!=null&&!create_tm_end.equals("")){
            
            Date d=DateUtils.getDate(DateUtils.getInternalTimeByDay(DateUtils.getDate(create_tm_end,"yyyy-MM-dd"), 1),"yyyy-MM-dd");
            dc.add(Restrictions.lt("startTime",  d));
        }


       


///DateUtil

    public static Date getDate(String dateTimeStr, String formatStr) {
        try {
            if (dateTimeStr == null || dateTimeStr.equals("")) {
                return null;
            }
            DateFormat sdf = getDateFormat(formatStr);
            java.util.Date d = sdf.parse(dateTimeStr);
            return d;
        } catch (ParseException e) {
            //throw new LangException(e);
        }
        return null;
    }



// 其中createTime    类型是 timeStamp 类型

 

dc.forclass(question.class);

    dc.createAlias("employee","employee").add(Restrictions.eq("employee.name",employeeName));

你可能感兴趣的:(java)