一开始没注意用法,在查询日期范围时直接将时间类型拼接到hql字符串里面了,结果总是报错。正确用法应该如下:
String hql = "from Channel where c.create_time >= ? order by c.create_time"; // 用占位符
Query query = session.createQuery(hql);
query.setParameter(0, time);// time类型须是java.sql.Date
return query.list(); // list()才真正开始查询
另外,创建Date类型日期,应该使用Canlendar类,如:
java.util.Date date1 = Calendar.getInstance().getTime();
java.util.Date date2 = Calendar.getInstance().add(Calendar.DATE, 1).getTime();