mysql里面存储的数据是datatime类型的时间,现在想用hibernate调出比这个时间早的所有数据,不是报错就是找不到。
如果我把数据库里面的dattime类型改成date类型,程序OK,但是现在时要精确到分钟,必须要用datetime。
把时间以字符串的方式村进去也是可以的,但是不符合规范,想请教下有什么办法在java中调用比较mysql里面的datetime
********
List mylist = session.createCriteria(ParkNews.class).add(
Restrictions.lt("nowDate", DateUtil.getDateTime(DateUtil.getDateTimeStr(date)))).list();String hql="select * from ParkNews p where p.nowDate<"+DateUtil.getDateTimeStr(date);
List mylist=session.createQuery(hql).list();这是java中执行语句,传Date第一是无数据,第二个是报错。
如果我把数据库里面的dattime类型改成date类型,程序OK,但是现在时要精确到分钟,必须要用datetime。
把时间以字符串的方式村进去也是可以的,但是不符合规范,想请教下有什么办法在java中调用比较mysql里面的datetime
********
List mylist = session.createCriteria(ParkNews.class).add(
Restrictions.lt("nowDate", DateUtil.getDateTime(DateUtil.getDateTimeStr(date)))).list();String hql="select * from ParkNews p where p.nowDate<"+DateUtil.getDateTimeStr(date);
List mylist=session.createQuery(hql).list();这是java中执行语句,传Date第一是无数据,第二个是报错。
另外还可以打开MYSQL的通用查询日志,然后看看提交到MYSQL端的语句到底是什么。
String hql="select * from ParkNews p where p.nowDate<"+DateUtil.getDateTimeStr(date);这句中,打印出来hql语句吧,或者在后台开启sql显示功能,打印出来最原始的sql语句看看吧!
where 日期字段,如果是字符串进来的,必须加''括起来的。