2013-09-17 1 views
0

Я следующий запрос HQL:Datetime в проверке HQL только датировать

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

Он вернется только записи до сегодняшнего дня (вчера, 2 дня назад, и так далее) Но не рекорд на сегодняшний день, прежде чем в этот раз.

datetime в базе данных имеет тип DateTime, поэтому он содержит дату и время.

Почему этот запрос не возвращает запись сегодняшнего дня раньше, чем текущее время?

Это способ даты и времени определяется внутри моего лица:

@Temporal(TemporalType.TIMESTAMP) 
private Date datetime; 
+0

Как ваше поле 'datetime' аннотируется? У вас есть @ @ Temporal аннотация? Это 'java.util.Date' или' java.sql.Date'? –

+0

Это java.util.Date – user1883212

ответ

0

Изменение от

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

в

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

или:

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

Bind дата (время усеченного) данного объекта Date к имени параметра запроса.

public Query setDate(String name, Date date); 

Bind дата и время данного объекта Date с именем параметра запроса.

public Query setTimestamp(String name, Date date); 
Смежные вопросы