前提 :
由于createTime字段在数据库中是date类型, 当条件是根据时间范围获取数据库中对应的数据时 :
如 : time > createTime && createTime < time
解决办法:
前端传递的string类型的日期字符串, 将他用dto类接受, 在对应的date属性上,
添加@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")注解
但是我在用是 注解失效了 , 也没有解决了
变通办法:
用string接受前端传递的时间字符串, 用
Timestamp.valueOf(时间格式的字符串)即可解决
实例:
if (StringUtil.notEmpty(operaDoctorInfoDTO.getRegStartTime())){
criteria.add(Restrictions.lte("createTime", Timestamp.valueOf(operaDoctorInfoDTO.getRegStartTime()),true));
}if (StringUtil.notEmpty(operaDoctorInfoDTO.getRegEndTime())){
criteria.add(Restrictions.gte("createTime",Timestamp.valueOf(operaDoctorInfoDTO.getRegEndTime()),true));
}