使用Restrictions.between()生成一个where子句,该子句的日期列在‘2012-04-09
00:00:00’和‘2012-04-09 23:59:59’之间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date fromDate = df.parse("2012-04-09 00:00:00");Date toDate = df.parse("2012-04-09 23:59:59");criteria.add(Restrictions.between("dateField", fromDate, toDate));请注意,Criteria API中使用的所有属性都是Java属性名,而不是实际的列名。
更新:仅使用JDK获取当前日期的fromDate和toDate
Calendar calendar = Calendar.getInstance();calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);Date fromDate = calendar.getTime();calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);Date toDate = calendar.getTime();criteria.add(Restrictions.between("dateField", fromDate, toDate));


