Это должно работать правильно
Query hibernateQuery = session.createQuery("select sum(t.amount) from Transaction t " +
"where DATE(t.timestampField) = :date");
hibernateQuery.setParameter("date", new java.sql.Date.valueOf("2018-10-11"));
Примечание: тип данных, возвращаемый функцией DATE(...)
, равен java.sql.Date
, поэтому, если у вас есть java.time.LocalDate
, это может быть легко преобразуется в java.sql.Date
следующим образом:
LocalDate localDate = LocalDate.of(2018, 10, 11);
java.sql.Date sqlDate = java.sql.Date.valueOf(localDate);
Обсуждается в следующем Q / A.
{ ссылка }