Próbuję odtworzyć tego zapytania sql do hibernacji kryteriów zapytania jaki sposób można osiągnąć tha.
SELECT *
FROM PERSON
WHERE
BIRTH_DATE IS NOT NULL
AND (YEAR(GETDATE()) - YEAR(BIRTH_DATE)) in(6,18,26)
ORDER BY
MONTH(BIRTH_DATE) ASC,
DAY(BIRTH_DATE) ASC
Globalnie, co chcę jest, aby wszyscy w wieku 6,18 i 26 lat zamówionych tylko przez miesiąc, a nie dzień w roku, aby mieć listę kolejnych jubileuszy.
W rzeczywistości mój problem w tej sytuacji jest to, że nie wiem, w jaki sposób mogę korzystać z funkcji SQL w kryteriach wiem, jak to działa, ale kryteria kwerendy jest dość trudne, nie mam pojęcia, jak odtworzyć go w kryteriach = /
Criteria criteriaBirthDates = his.getSession().createCriteria(Person.class);
criteriaBirthDates.add(Restrictions.isNotNull(birthdate));
criteriaBirthDates.addOrder(Order.asc(month(birthdate)));
criteriaBirthDates.addOrder(Order.asc(day(birthdate)));
return criteriaBirthDates.list();
Wielkie dzięki!