hibernate HQL日期差异

时间:2011-08-02 13:57:49

标签: java hibernate date hql

我想找到所有映射到对象XYZ的记录,条件如下 A有日期字段XyzDateTime(它的时间戳) 现在currentTime -xyzDateTime> 20我想选择记录

query = session.creatQuery(Select x from XYZ where :currentTime-xyzDateTime > 20 )
query.setParameter("currentTime",new Date())

这是对的吗?
 我能用这种方式检查日期差异吗?

1 个答案:

答案 0 :(得分:7)

这不正确。最简单的解决方案就是这样(根本不是最漂亮的解决方案)

Date twentyDaysInFuture = new Date(Calendar.getInstance().add(Calendar.DAY_OF_MONTH, 20).getTime());

query = session.createQuery("SELECT x FROM XYZ x WHERE xyzDateTime > :endDate").setParameter("endDate", twentyDaysInFuture);