Добавить и сравнить дату и время в HQL

0

Я создал ниже sql-запрос для моего кода, мне нужно преобразовать его в HQL createQuery, я много пробовал. Кто-нибудь, пожалуйста, скажите мне, как добавить datetime для самого запроса и сравнения.

Query query = session.createSQLQuery("select * from schedule s
    where NOW() >= ADDDATE(s.view_datetime, INTERVAL 2 HOUR)");
  • 0
    HQL на самом деле не поддерживает специфические для базы данных функции даты (поскольку они обычно различны для каждой БД). Но вы могли бы выполнить вышеизложенное как необработанный MySQL-запрос из вашего Java-кода.
  • 0
    Привет, спасибо за ваш ответ. это работает, но мне нужно справиться с hql. Есть ли другая возможность, другое решение для этого?
Показать ещё 3 комментария
Теги:
datetime
hibernate
hql

1 ответ

0
Лучший ответ

После многих обходных решений я получил ответ. Это может помочь другим, кто ищет аналогичный сенарио..

Calendar calendar = new GregorianCalendar();
calendar.setTime(new Date());       
Date today = calendar.getTime(); 

Query query = session.createQuery("from schedule s where DATE(s.view_datetime) <= :today AND (hour(CURRENT_TIMESTAMP() - s.view_datetime) >= 2)");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню