Переписать SQL запрос в HQL

80
26 октября 2021, 23:50

Необходимо переписать запрос

SELECT * FROM learn.employee
JOIN learn.department on department.id
WHERE department.head_id = employee.id and month(employee.hire_date) < 3;

в HQL. Делал так:

SELECT DISTINCT e FROM Employee e INNER JOIN e.department d WHERE e.ledDepartment = d.headId AND e.hireDate < :month

Проблема в том, что не понимаю, как указать параметр месяца. Необходимо вывести руководителей отделов, которые вышли на работу до марта. Если в параметр вставлять обьект Date, то как сделать, чтобы был только Март месяц. Если указать целое число для month - Hibernate ругается, что невозможно сравнить Date и Integer.

Answer 1

Используйте фунцкию HQL - MONTH(...):

select so from SomeObject so where MONTH(so.date) = MONTH(:date)

либо:

select so from SomeObject so where TO_CHAR(so.date, 'MM') = :month_as_string
READ ALSO
bootstrap выравнивание нескольких таблиц

bootstrap выравнивание нескольких таблиц

ищу помощи по правильному формированию списков характеристик товара, остановился на отображении в виде таблицы, однако имею неприятность...

116
Съезжает элемент в CSS

Съезжает элемент в CSS

при выборе вариативного товара в woocommerce, надпись очистить неправильно отображается, плывет https://apphoneru/product/iphone-xs-max-512gb-zolotoj/ хотя вот на этом...

99
Как в Flask отобразить Excel в браузере

Как в Flask отобразить Excel в браузере

Приложение формирует эксель-файл и сохраняет файл в папке на сервереНеобходимо отобразить его в браузере (т

121