0

我有以下 hql 查询:

Query query = session.createQuery("from Appointments where datetime < :now");
query.setDate("now", new Date());
listApps = query.list();

它只返回今天之前的记录(昨天、2 天前等),但不返回今天之前的记录。

数据库中的日期时间是 DateTime 类型,因此它包含日期和时间。

为什么这个查询没有返回比当前时间之前的今天的记录?

这是在我的实体中定义日期时间的方式:

@Temporal(TemporalType.TIMESTAMP)
private Date datetime;
4

1 回答 1

0

从改变

query.setDate("now", new Date());

  • query.setTimestamp("now", new Date());

或者:

  • query.setParameter("now", new Date());

将给定 Date 对象的日期(时间被截断)绑定到命名查询参数。

public Query setDate(String name, Date date);

将给定 Date 对象的日期和时间绑定到命名查询参数。

public Query setTimestamp(String name, Date date);
于 2013-09-17T23:57:48.220 回答