У меня есть столбец метки времени, торгуемый в одной из таблиц БД (Oracle).
Я использую Hibernate в качестве постоянного слоя для извлечения и хранения данных в БД.
У меня есть требование, в котором мне нужно запросить БД на дату.
Т.е. из пользовательского интерфейса пользователь передает дату, и мне нужно получить отфильтрованные данные на основе этой даты.
Если в столбце tradedate есть только часть даты, мой запрос возвращает правильные записи
Проблема возникает, когда столбец tradedate заполняется значением метки времени, т. Е. (Дата + время). Тогда эти значения не возвращаются запросом.
Например: скажем, на 23 октября 2010 г. в БД имеется 10 записей, 5 из них имеют записи с отметками времени, а 5 не имеют
Таким образом, запрос, который я имею, возвращает мне только 5 строк, у которых нет метки времени.
Теперь я знаю, что мне нужно извлечь дату из отметки времени, а затем выполнить сравнение, чтобы я получил все записи за приблизительную дату, но я не знаю, как это делается с Hibernate и с использованием HQL
запрос в Java / Hibernate , который я использую, выглядит следующим образом
String hql = "выбрать Очистка из POJO как POJO, где POJO.tradeDate =: date";
Query query = getSession (). CreateQuery (hql);
query.setParameter («дата», дата);